泛型T和E之间的主要区别是什么?我有一个返回类型为T的变量的方法,我有另一个创建ArrayList的方法。我的另一个问题是:在将元素添加到ArrayList时将变量转换为(E)是否安全?
//以预先顺序遍历
返回包含树中所有元素的Arraylist public ArrayList<E> getPreorderTraversal()
}
这可以在Node Class
中找到public T getData();
答案 0 :(得分:2)
一般来说,T和E之间没有区别 - 他们只是为类型参数(E或T)使用不同的名称。
最常用的类型参数名称是:
E - Element (used extensively by the Java Collections Framework)
K - Key
N - Number
T - Type
V - Value
嗯,不建议在不知道整个上下文的情况下将变量强制转换为E.
我假设你编写BST代码,你的解决方案应该是
public E getData();
或
public ArrayList<T> getPreorderTraversal()
因此节点列表是类型T或E.它不能包含类型T的列表并返回E反之亦然。