我有一个通用类型节点:
public class Node<T> {
private T element;
private Node<T> next;
public T getElem() {
return element;
}
public Node<T> getNext() {
return next;
}
public void setElem(T newElem) {
element = newElem;
}
public void setNext(Node<T> n) {
next = n;
}
}
我将它用作 DynamicList 类中的一个字段:
public class DynamicList<T> implements MyList<T>{
private Node<T> head;
}
我在使用的时候发现
private Node head;
它不会影响列表行为。那么哪个是正确的?
最佳答案
说真的,它不会影响行为,因为类型在运行时被删除。但是,如果您不指定泛型类型参数,则不会进行类型检查,这可能会导致您出现编程错误。所以第一个是更好的解决方案。如果您使用的编译器配置正确,它应该会告诉您在编写 private Node head;
时您使用的是 Raw 类型。
关于java - 如果将泛型类型变量用作类中的字段,它是否应该包含 <T> 表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32716632/