私は構文的なことで自分自身を混乱させ、実際に何かをすることに集中するのが好きではありません。:)
このことで何ができるかはわかっていますが、ボンネットの下で実際に何が起こっているのかを知りたいと思っています.
だから...文字列を括弧内に入れることが意味のある理由と状況は何なのだろうか。次のようなものを返すメソッドを見ました
return (string1 + " " + string2);
私は構文的なことで自分自身を混乱させ、実際に何かをすることに集中するのが好きではありません。:)
このことで何ができるかはわかっていますが、ボンネットの下で実際に何が起こっているのかを知りたいと思っています.
だから...文字列を括弧内に入れることが意味のある理由と状況は何なのだろうか。次のようなものを返すメソッドを見ました
return (string1 + " " + string2);
この例では、括弧は無効です。あなたが投稿したコードはこれと同等です:
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"
これは正当な構造であり、代数の括弧と同じ目的を持ち、戻り値の前に操作が確実に行われるようにします。実際には、この場合は必要ありません。
return string1 + " " + string2;
結果は同じです。コードの作成者は、コードの方が読みやすいと考えたのでしょうか?
ただの読みやすさ。返されるオブジェクトを強調したい場合は、括弧を付けます。しかし、それらは必要ありません。
これはreturn
関数呼び出しのように見えますが、実際にはそうではありません。したがって、これは括弧を使用してはならない例です。
括弧内に文字列を入れることが意味のある理由と状況は何なのだろうか。
別の例を次に示します。
string1 + " " + string2.substring(a,b)
と:
(string1 + " " + string2).substring(a,b)
2つの非常に異なる獣です。