メインクラスで2つのArrayListを宣言しました。1つはルーチンオブジェクトのArrayListで、もう1つはルーチン名のString配列です。ルーチンが作成されるたびに、そのルーチン名とルーチンに格納されている名前がNamesarrayListに格納されます。
static ArrayList <Routine> routineArrayList = new ArrayList <Routine> ();
static ArrayList <String> Names = new ArrayList <String> ();
JListを作成し、StringNamesarrayListを使用してデータを設定しました。
list = new JList(Names.toArray());
すべて順調です。名前を選択すると、対応するルーチンが選択されます。
問題は、それぞれのルーチンであり、独自の名前のArrayListがあります。
選択したルーチンを使用して、そのルーチン内の名前をJListに入力できるようにしたい。これが私が試していたものです。
currentRoutine = routineArrayList.get(intChoice);
...
list = new JList(currentRoutine.Names.toArray()); ******** PROBLEM LINE
System.out.println(currentRoutine.Names.toArray())
まったく同じNullPointerException
です。
それはしばらくの間私を悩ませてきました、どんな助けでも同様に心から感謝されます、もしもっと情報が必要であるならば、私はそれを提供するために最善を尽くします。
編集
回答ありがとうございます。主な問題は、各Routineオブジェクト内のnames配列が正しく初期化されていないことでした。ただし、問題はまだあります。
'System.out.println("Choice: " + currentRoutine.names.get(0)); // Or get(x)
と
'System.out.println("Choice: " + currentRoutine.names.toString()
どちらも正確に必要なものを提供します。完全な名前の配列または要素注:'System.out.println( "Choice:" + currentRoutine.names.toArray()は、アドレスの詳細などを示します。
しかし、私が試してみると
'list = new JList(currentRoutine.names.toArray());'
同じNullPointerExceptionが発生しますか?
乾杯