Java从原始类型ArrayList获取字段

时间:2016-05-26 18:31:11

标签: java arraylist field raw-types

我从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)。

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

当你从pointStorer获得一个元素时,你需要将它转换为Point(或者你正在使用的任何类),否则程序将不知道它的类型,它不会知道它有一个x字段。

但最好明确定义数组类型,如下所示:

private List<Point> pointStorer = new ArrayList<Point>();

这样当你使用get时,它将直接返回一个Point对象,你不必将其强制转换为访问其字段。

答案 1 :(得分:1)

Java认为你有ArrayList Object。 您应该提供类型参数:ArrayList<Point>或其他类型的字段x