2011-02-08 7 views
2

私は自分自身を構文的なものと混同し、本当にやることに集中したくない。 :)括弧内に文字列を入れる構文的意味

私はこのことで何ができるのか分かっていますが、実際に何が実際に起こっているか知りたいのです。

だから、かっこ内に文字列を置くのは意味があるのでしょうか?

return (string1 + " " + string2); 

答えて

5

この例ではかっこは何の効果もありません。あなたが投稿したコードは、これと同等です:

return string1 + " " + string2; 

一般的に括弧とString Sまたは文字列リテラルの間には特異的な相互作用はありません。括弧は、通常の表現と同じセマンティクスを持っています。

いくつかのケースでは括弧が正しい解釈を指定する必要があります:

System.out.println("foo: " + 1 + 1); // will print "foo: 11" 
System.out.println("foo: " + (1 + 1)); // will print "foo: 2" 
+2

コンパイルエラーを防ぐために、あなた/必要/括弧が必要です: 'System.out.println(" foo: "+ 10-5);'、例えばStringは ' - ' -オペレーター。 – fwielstra

2

それは法的な構造であり、操作が戻る前に行われますことを保証するために、代数に括弧と同じ目的を持っています。実際には、この場合は必要ありません。

return string1 + " " + string2; 

結果は同じになります。多分、コードの作成者はもっと読みやすいかもしれないと考えましたか?

1

単なる読みやすさです。戻ってくるオブジェクトを強調したい場合は、かっこを入れます。しかし、彼らは必要ではありません。

0

これは、returnを関数呼び出しのように見せますが、実際はそうではありません。したがって、これはカッコを使用すべきではない例です。

0

私は、括弧内の文字列 を置くことは意味があるの理由と 状況がどのようなものだろうか。

ここで別の例です:

string1 + " " + string2.substring(a,b) 

と:

(string1 + " " + string2).substring(a,b) 

は、2匹の非常に異なる獣です。

関連する問題