2

私は構文的なことで自分自身を混乱させ、実際に何かをすることに集中するのが好きではありません。:)

このことで何ができるかはわかっていますが、ボンネットの下で実際に何が起こっているのかを知りたいと思っています.

だから...文字列を括弧内に入れることが意味のある理由と状況は何なのだろうか。次のようなものを返すメソッドを見ました

return (string1 + " " + string2);
4

5 に答える 5

5

この例では、括弧は無効です。あなたが投稿したコードはこれと同等です:

return string1 + " " + string2;

一般的に言えば、括弧とStrings または文字列リテラルの間に特定の相互作用はありません。括弧は、「通常の」式と同じセマンティクスを持ちます: 操作をグループ化します。

場合によっては、正しい解釈を指定するために括弧が必要になることがあります。

System.out.println("foo: " + 1 + 1);   // will print "foo: 11"
System.out.println("foo: " + (1 + 1)); // will print "foo: 2"
于 2011-02-08T11:21:22.740 に答える
2

これは正当な構造であり、代数の括弧と同じ目的を持ち、戻り値の前に操作が確実に行われるようにします。実際には、この場合は必要ありません。

return string1 + " " + string2;  

結果は同じです。コードの作成者は、コードの方が読みやすいと考えたのでしょうか?

于 2011-02-08T11:21:30.730 に答える
1

ただの読みやすさ。返されるオブジェクトを強調したい場合は、括弧を付けます。しかし、それらは必要ありません。

于 2011-02-08T11:21:53.037 に答える
0

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

于 2011-02-08T12:02:18.247 に答える
0

括弧内に文字列を入れることが意味のある理由と状況は何なのだろうか。

別の例を次に示します。

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

と:

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

2つの非常に異なる獣です。

于 2011-02-08T12:28:16.203 に答える