gpt4 book ai didi

java - 数组列表错误 “NullPointerException”

转载 作者:行者123 更新时间:2023-11-29 07:56:53 26 4
gpt4 key购买 nike

我正在将 array 更改为 arrayList,有几次尝试出现错误“NullPointerException”,代码简化如下所示,当鼠标按下时创建一个矩形。但仍然有同样的错误。问题是什么?

ArrayList textlines;

int xpos=20;
int ypos=20;

void setup() {
size(1200, 768);
ArrayList textlines = new ArrayList();
//(Line)textlines.get(0) =textlines.add(new Line(xpos, ypos));
}

void draw() {
}


void mousePressed() {
textlines.add(new Line(xpos, ypos));
for (int i=0; i<textlines.size(); i++) {

Line p=(Line)textlines.get(i);
p.display();
}
}


class Line {

int x;
int y;

Line(int xpo, int ypo) {
x =xpo;
y =ypo;
}

void display() {
fill(50, 50, 50);
rect(x, y, 5, 5);
}
}

最佳答案

您可能会在此处隐藏 textlines 变量:

ArrayList textlines = new ArrayList();

因为您要在 setup() 方法中重新声明它。不要那样做。在类里面声明一次。

具体来说,查看评论:

ArrayList textlines;

void setup() {
// ...

// *** this does not initialize the textlines class field
// *** but instead initializes only a variable local to this method.
ArrayList textlines = new ArrayList();

}

修复它:

ArrayList textlines;

void setup() {
// ...

// *** now it does
textlines = new ArrayList();

}

关于java - 数组列表错误 “NullPointerException”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17136598/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com