我从for中的ArrayList获取x有问题。
让我用这段代码更好地解释一下:
private ArrayList pointStorer = new ArrayList();
我首先声明ArrayList
public void mouseEntered(MouseEvent e){
for(int i = 0; i < pointStorer.size(); i++){
if(pointStorer.get(i).x <= e.getX()){
check = true;
}
}
}
然后,当我尝试传递ArrayList并且为每个元素获取x时,它不起作用,Java说“找不到simbol”(x)。
提前感谢您的帮助。
答案 0 :(得分:1)
当你从pointStorer
获得一个元素时,你需要将它转换为Point
(或者你正在使用的任何类),否则程序将不知道它的类型,它不会知道它有一个x
字段。
但最好明确定义数组类型,如下所示:
private List<Point> pointStorer = new ArrayList<Point>();
这样当你使用get
时,它将直接返回一个Point
对象,你不必将其强制转换为访问其字段。
答案 1 :(得分:1)
Java认为你有ArrayList
Object
。
您应该提供类型参数:ArrayList<Point>
或其他类型的字段x
。