![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
ArrayListで可変長配列を扱っているのですが、
2次元可変長配列を用いる必要が出てきたので、
下記のように変更したのですがうまくいきません。
何が悪いのか教えていただけませんでしょうか?
-----------------------------------------
ArrayList cars=new ArrayList();
cars.add("フェラーリ");
cars.add("ポルシェ");
cars.add("メルセデスベンツ");
for(int i=0;i<cars.size();i++){
String str=(String)cars.get(i);
System.out.println(str);}
-----------------------------------------
上記から下記のように変更しました。
-----------------------------------------
ArrayList[] cars=new ArrayList[3];
cars[0].add("フェラーリ");
cars[0].add("ポルシェ");
cars[0].add("メルセデスベンツ");
for(int i=0;i<cars[0].size();i++){
String str=(String)cars[0].get(i);
System.out.println(str);}
-----------------------------------------
エラーは「Exception in thread "main" java.lang.NullPointerException」です。
どうやら初期配列が10ではなく3となってしまっているようです。
No.1ベストアンサー
- 回答日時:
こんにちは。
>ArrayList[] cars=new ArrayList[3];
はArrayList型のオブジェクトのインスタンス
を格納する箱を3個作成しただけなので、
この時点では、
cars[0] = null
cars[1] = null
cars[2] = null
となっています。ですから、当然
cars[0].add("フェラーリ");
などとやると、NullPointerExceptionが
発生します。これをさけるには、
cars[0] = new ArrayList();
cars[1] = new ArrayList();
cars[2] = new ArrayList();
とする必要があります。
返信が非常に遅れてしまい申し訳ありませんでした。
みなさんの回答、大変参考になりました。
さっそく書き直してみることにします。
argiさんの質問ですが、可変長配列×可変長配列を作ろうとしています。
No.3
- 回答日時:
ArrayListの配列は一個作れば充分でしょう。
下記を参考にしてください。
import java.util.*;
class Cars {
public static void main(String args[]){
ArrayList[] cars=new ArrayList[1];
cars[0]=new ArrayList();
cars[0].add("フェラーリ");
cars[0].add("ポルシェ");
cars[0].add("メルセデスベンツ");
for(int i=0;i<cars[0].size();i++){
String str=(String)cars[0].get(i);
System.out.println(str);
}
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Javaで文字を漢字であるか否か...
-
javamailで複数人にメールを送...
-
【C#】ハッシュテーブル(連想...
-
java StringとString[]の違い
-
javaで大容量テキストファイル...
-
Java配列の問題を教えてくださ...
-
[Ljava.lang.Stringってなんですか
-
エラーのStackTraceをString変...
-
セッションを使ったint型の値の...
-
データベースから取得したデー...
-
csvファイルを2次元配列に格納
-
javaでEUC-JP文字列→UTF-8への変換
-
『args[]』とは?
-
Javaには、構造体はないんですか?
-
Javaで文字と数字が混ざったも...
-
C#で動的配列Listの中身をListB...
-
ページング
-
同じ配列またはクラスを、2回...
-
C言語のポインターに関する警告
-
ORA-01858: 数値を指定する箇所...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ページング
-
[Ljava.lang.Stringってなんですか
-
【C#】ハッシュテーブル(連想...
-
配列で、値の入っている要素数...
-
C言語でunsigned char配列を連...
-
Javaで文字と数字が混ざったも...
-
この警告はどうすれば?
-
C#で動的配列Listの中身をListB...
-
配列の中に複数存在する数がい...
-
javamailで複数人にメールを送...
-
同じ配列またはクラスを、2回...
-
csvファイルを2次元配列に格納
-
ArrayListからBean配列に値をセ...
-
javaで大容量テキストファイル...
-
main(String[] args) の args...
-
【Ajax通信&Java】配列の受け取...
-
java
-
『args[]』とは?
-
配列をセッションに割り当てた後で
-
Javaで文字を漢字であるか否か...
おすすめ情報