クラスのコンストラクターを作成しようとしています
// Variables to send to Host
private class ParameterClass {
public String parameter;
public int value;
public Boolean sended;
}
public class SendToHostClass {
private int sizeBuffer;
public ParameterClass[] parameterList;
SendToHostClass(int sizeBufferConf) {
sizeBuffer = sizeBufferConf;
parameterList = new ParameterClass[sizeBuffer];
}
public void Put (String parameter, int valuePut, Boolean sendedPut) {
for (int index=0; index<sizeBuffer; index++) {
if (parameter == parameterList[index].parameter) {
parameterList[index].value = valuePut;
parameterList[index].sended = sendedPut;
exit();
}
}
}
}
だから私は変数を宣言します
SendToHostClass sendToHost;
を使用してProcessingメソッドでインスタンス化sendToHost
しますsetup()
sendToHost = new SendToHostClass(10);
sendToHost.parameterList[0].value = 0;
コードを実行すると、エラー メッセージが返されます
スレッド「アニメーション スレッド」での例外 java.lang.NullPointerException at sketch_gui.setup(sketch_gui.java:273) at processing.core.PApplet.handleDraw(PApplet.java:2117) at processing.opengl.PGL$PGLListener.display(PGL .java:2472) で jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:548) で jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:533) で jogamp.opengl.GLAutoDrawableBase$2.run(GLAutoDrawableBase.java:280) ) com.jogamp.newt.opengl.GLWindow.display(GLWindow.java:543) で jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:822) で jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:904) でprocessing.opengl.PGL.requestDraw (PGL.java:814) で processing.opengl.PGraphicsOpenGL.requestDraw (PGraphicsOpenGL.java:1566) で processing.core で。PApplet.run(PApplet.java:2020) at java.lang.Thread.run(Thread.java:662)
それで、私は何を間違っていますか?
また、各リスト オブジェクトを個別にインスタンス化すると、エラーが発生しないこともわかりました。
sendToHost = new SendToHostClass(10);
sendToHost.parameterList[0] = new ParameterClass();
sendToHost.parameterList[0].value = 0;
parameterList
しかし、メンバーが2回インスタンス化されているように見えるため、間違っているようです。
前もって感謝します。