Java Silverの勉強メモ。初期値や初期化子について
配列の注意点
- 同じ型、互換性のある型しか入れることができない
- 扱える要素数は固定 (インスタンス化時に決定する)
初期値について
ラッパークラスの場合はnull、プリミティブ型の場合はデフォルト値が配列の中に入る
※値を明示的に入れてない場合の挙動です。
整数型の配列を例にしてみます。int型はプリミティブ型の整数に対し、Integer型はインスタンス型の整数です。
public class Sample {
int[] arr = new int[2];
Integer[] Arr = new Integer[2];
System.out.println(arr[0]); //0が表示される
System.out.println(Arr[0]); //nullが表示される
}
初期化子 { }を使って配列を作る場合の注意
int[] arr = {1,2,3}
・大カッコ[] とともに使う場合、要素数を指定してはいけない
//NG
int[] badArr = new int[2] {1,2};
//OK
int[] goodArr = new int[] {1,2};
・変数宣言と同時にしか利用できない
//NG
int[] badArr;
badArr = {1,2};
//OK
int[] goodArr;
goodArr = new int[] {1,2}
参考
リンク