このスレッドの別のスレッドおよびクラスからの静的ベクターへのアクセスに問題があります。1 つのクラスは LotteryPlay と呼ばれる GUI クラスで、packArray と呼ばれる静的なベクターがあり、別のクラスは MultiThreader と呼ばれ、その一部を以下に示します。異なるスレッドで実行されます。何が間違っているかについてのアイデアはありますか?
私が考えることができる唯一のことは、別のスレッドから静的ベクトルにアクセスしようとしているということです。これは可能ですか?
@Override
public void run() {
try {
out = new PrintWriter(socket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
System.out.println("streams are setup from new thread\n");
line = "";
while((line = in.readLine())!= null){
this.messageFromClient(line);
if(!(counter > 1)){
textSplitter(line);
socketPack = new SocketPack(socket, timeStamp, address);
LotteryPlay.packArray.add(socketPack); <<<----NULL POINTER EXCEPTION
System.out.println("SIZE OF PACKARRAY " + LotteryPlay.packArray.size());
System.out.println();
System.out.println("pakc array "+ LotteryPlay.packArray);
}
System.out.println("from client: " + line.trim() + "\n");
} // end while loop
スレッド「Thread-3」での例外 java.lang.NullPointerException at.com.lotterygame.MultiThreader.run(MultiThreader.java:55) at java.lang.Thread.run(Thread.java:662)