'class [] arrayname'と 'class arrayname []'の違い[重複]
Sep 25 2020
違いがわかりません
String[] arrayName = {/*some data here*/};
そして
String arrayName[] = {/*some data here*/};
タイプ(String[])の後と配列名(String arrayName[])の後に角括弧を配置することに違いはありますか?
もしそうなら、何?
回答
4 Mureinik Sep 25 2020 at 12:25
どちらの宣言も同じ結果になります。違いは文体だけです。そうは言っても、ほとんどのJavaスタイルガイドでは、変数名ではなく、型名に角かっこを付けることを推奨しています。
String[] arrayName = {/*some data here*/};
1 GiorgiTsiklauri Sep 25 2020 at 12:28
それらはほとんど同じですが、意味上の問題が少しあります。
沿って:
String[] array;
arrayString [](文字列配列)のタイプであるという名前の変数を宣言します。- このコードでは、同じ
String[]タイプ(String[] array1, array2;)で他の変数をインラインで宣言できます。
沿って:
String array[];
- 配列オブジェクトを参照する変数を宣言します。その要素は
java.lang.String;の型でなければなりません。 - あなたは
String array[], name, surname;実際に書くのにまともなコードではないようなものを持つことができますが、Javaセマンティクスはこれをブロックしません。