在这段代码中,我正在 java 中实现一个通用链表。
public class LL<Item extends Comparable<Item>> {
我的节点类定义为
private class Node{
private Item data;
private Node next;
public Node(Item data){
this.data = data;
next = null;
}
}
现在我的疑问是,我在编码时不断收到警告
Node x = head, y = (Node) b.head;
Type safety: Unchecked cast from LL.Node to LL<Item>.Node
我应该忽略这一点,为什么编译器会生成它。有解决方法吗?
编辑 :
b 是 LL 类型,函数签名看起来像
public void mergeAlternate(LL b){
而head是LL类的私有实例变量
private Node head;