在包含相同类型对象的两个arraylists之间进行转换时发出警告

时间:2014-11-12 13:26:09

标签: java generics arraylist

在课程中我得到了

private ArrayList<Node> neighbors;

public ArrayList<Node> getNeighbors() {
    return this.neighbors;
}

在课程图中,我得到了

public void foo(Node first) {
    ArrayList<Node> firstNeighbors = first.getNeighbors();
    ...
}

编译这会给我警告

warning: [unchecked] unchecked conversion
ArrayList<Node> firstNeighbors = first.getNeighbors();
required: ArrayList<Node>
found:    ArrayList

有人在这里看到错误吗?

1 个答案:

答案 0 :(得分:0)

抛出的错误不是来自您发布的代码,

  

警告:[未选中]未经检查的转换ArrayList   firstNeighbors = first.getNeighbors();

您需要检查first对象。对象应该是class A或者应该是它的子类,从getNeighbors()方法获取arraylist。

你可能会这样做,

classA obj= new ClassA();
List<Node> firstNeighbors = obj.getNeighbors();

从方法中获取值并传递给list