- Cの場合とちょっと違うので注意が必要.
- Cの場合 例:int型x10要素の配列iaを生成する場合 int ia[10]; で終わり(実体も出来ている)。
- Javaの配列の作り方 例:int型x10要素の配列iaの実体を作る。
1. 配列の宣言,この時点では配列の中身はない.
2. 配列領域の割り当て.
- 上記2つを1式に書いても良い.
int[] ia=new int[10];
- インスタンスの配列の場合も全く同様 (というかこっちに基本データ型も合わせてある). ただし,例えば,
GasStation[] gs=new GasStation[10];では,GasStation へのリファレンスの配列ができているだけであることに注意。
実体は別途newする必要がある.例えば,
GasStation[] gs=new GasStation[10]; // リファレンスの配列を生成 for(int i=0; i<10; i++){ gs[i]=new GasStation(); // 個々のリファレンスにインスタンスを割り付ける }など.
- 配列の要素数: 配列型の変数には, length という特別な属性(のようなもの)があり,それによって,要素数を知ることができる. よって,上の例題は,
GasStation[] gs=new GasStation[10]; // リファレンスの配列を生成 for(int i=0; i<gs.length; i++){ gs[i]=new GasStation(); // 個々のリファレンスにインスタンスを割り付ける }と書くほうが小粋.
- 多次元配列も同様
- int[] ia; は, int ia[];と書いても同じ意味だが, 前者のほうを私は推薦する.
- 気分の問題だが, 前者は「iaはint[]型(整数配列型)である」と読めるため, より実際の意味に近く見えるため.
- 配列(へのリファレンス)を返すメソッドの定義と整合性がとれる,例えば,
int[] foo(){ int[] r; // なにか処理する return r; }など,別に int foo()[]{...}でも良いが, 返り値の型定義はまとまっていたほうが見やすい.
2003年10月1日 11:49 更新