Я не понимаю, почему Java компилятор дает мне «бесконтрольно преобразование» предупреждение в следующей ситуации:Java общий список дает мне предупреждение
У меня есть этот класс:
public class NodeTree<T> {
T value;
NodeTree parent;
List<NodeTree<T>> childs;
NodeTree(T value, NodeTree parent) {
this.value = value;
this.parent = parent;
this.childs = null;
}
public T getValue() { return value; }
public void setValue(T value) { this.value = value; }
public NodeTree getParent() { return parent; }
public void setParent(NodeTree parent) { this.parent = parent; }
public List<NodeTree<T>> getChilds() {
if (this.childs == null) {
this.childs = new LinkedList<NodeTree<T>>();
}
return this.childs;
}
}
и в главном классе у меня есть следующие инструкции:
NodeTree node = new NodeTree<Integer>(10, null);
NodeTree<Integer> child = new NodeTree<Integer>(20, node);
List<NodeTree<Integer>> childs = node.getChilds();
childs.add(child);
Я не могу объяснить, почему, черт возьми, я получаю предупреждение о getChilds() линии этого типа:
warning: [unchecked] unchecked conversion
List<NodeTree<Integer>> childs = node.getChilds();
^
required: List<NodeTree<Integer>>
found: List
1 warning
getChilds() функция не возвращает типа списка, он возвращает список < < NodeTree T>> типа.
Пожалуйста, помогите мне разобраться.
напишите '@SurpressWarning (« все »)' вверху перед именем класса –