私は自分自身を構文的なものと混同し、本当にやることに集中したくない。 :)括弧内に文字列を入れる構文的意味
私はこのことで何ができるのか分かっていますが、実際に何が実際に起こっているか知りたいのです。
だから、かっこ内に文字列を置くのは意味があるのでしょうか?
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匹の非常に異なる獣です。
コンパイルエラーを防ぐために、あなた/必要/括弧が必要です: 'System.out.println(" foo: "+ 10-5);'、例えばStringは ' - ' -オペレーター。 – fwielstra