重複の可能性:
Javaの配列初期化子内に末尾にコンマが含まれる配列
次のステートメントがJavaで正しい理由:
int[][] a = { {1,2,}, {3,4}};
不要なカンマによるコンパイルエラーかどうか?
重複の可能性:
Javaの配列初期化子内に末尾にコンマが含まれる配列
次のステートメントがJavaで正しい理由:
int[][] a = { {1,2,}, {3,4}};
不要なカンマによるコンパイルエラーかどうか?
Trailing comma
そのような配列の初期化ではignored by compiler
。これらは通常、後で配列に何かを追加するときに、コンマを気にせずに要素を追加するだけで済むように追加されます。
奇妙ですが、許可されています。
これもリストされていJLS - Section#10.6 (Array Initializers)
ます:-
配列初期化子は、中括弧{と}で囲まれたコンマ区切りの式のリストとして記述されます。
末尾のコンマは、配列初期化子の最後の式の後に表示される場合があり、無視されます。
{1,2,}
最後のコンマの後に要素が続く必要はありません。これは、いくつかのプログラミング言語(JavaScript(標準では、IEは常に準拠しているわけではありません)、PHP、Java、Python、C#3.5など)に当てはまります。
この質問は、2次元配列の最初の配列要素の末尾のコンマに関するものである可能性が最も高いです{1,2,}
。これは、 Java言語仕様に従った有効なJava構文です。
末尾のコンマは、配列初期化子の最後の式の後に表示される場合があり、無視されます。
いいえ。多次元配列です。標準アレイの場合、次のようになります。
int a[] = {1, 2, 3};
しかし、これは多次元です。多分これは役立つでしょう:
int a[][] = {
{1, 2},
{3, 4}
}
だから今a[0] = {1, 2}
そしてa[1] = {3, 4}
の最後のコンマを参照している場合{1, 2,}
、Javaでは問題ありません。
そのネストされた配列-なぜコンパイルエラーが発生するのでしょうか?