この2つの奇妙な行動が理解できません
1.最初の行動
私はこのような変数を宣言しました
double[][] dd =
{
new double[10],
new double[10]
};
エラーは発生しません。
しかし、私がこれを好きなら、それはエラーを出します
double[][] dd;
dd = { // Here it gives 2 errors says Invalid Expression { and ; expected
new double[10],
new double[10] //Here and in the above line it says only
//assignment, call, increment....can be used as a statement
};
これを行うとエラーがなくなります
double[][] dd;
dd = new double[][]{
new double[10],
new double[10]
};
なんで?
2.2番目の動作
,
さらに、上記のいずれかの場合に配列の最後の要素の後に余分なコンマを入れてもエラーにはなりません
{
new double[10],
new double[10], //This comma here is not given as error. Why?
};
その余分なコンマが、その後にもう1つのエンティティを追加する必要があることを指定していない場合。