Java 可序列化类NodeListImpl未声明long类型的静态最终SerialVersionId字段
我对泛型的东西很陌生。我经历了“NodeListImpl是一个原始类型。对泛型类型NodeListImpl的引用应该参数化”,并且对此有一些疑问,因为我还没有完全理解 代码:Java 可序列化类NodeListImpl未声明long类型的静态最终SerialVersionId字段,java,generics,Java,Generics,我对泛型的东西很陌生。我经历了“NodeListImpl是一个原始类型。对泛型类型NodeListImpl的引用应该参数化”,并且对此有一些疑问,因为我还没有完全理解 代码: 公共类节点{ 私有字符串名称; 私人T值; private NodeListImpl nodes=new NodeListImpl(); 公共void addChild(节点子节点){ this.nodes.add(子节点); } } 公共接口列表扩展了Iterable{ 公共抽象布尔包含(对象e); 公共抽象布尔加法;
公共类节点{
私有字符串名称;
私人T值;
private NodeListImpl nodes=new NodeListImpl();
公共void addChild(节点子节点){
this.nodes.add(子节点);
}
}
公共接口列表扩展了Iterable{
公共抽象布尔包含(对象e);
公共抽象布尔加法;
公开摘要无效优先(T e);
公共摘要T peek first();
公共抽象布尔值为空();
公共摘要T pollFirst();
公开摘要无效清除();
}
公共类ListImpl扩展LinkedList实现列表{
}
公共接口节点列表扩展了Iterable{
公共抽象布尔包含(节点e);
公共抽象布尔加法(节点e);
公开摘要无效地址优先(节点e);
公共抽象节点peekFirst();
公共抽象布尔值为空();
公共抽象节点pollFirst();
公开摘要无效清除();
}
公共类NodeListImpl扩展LinkedList实现NodeList{
}
任务是:
列表
可以
考虑到2:
您的节点列表
类错误class NodeList…
声明一个类NodeList
,该类具有名为Node
的类型参数,该参数将对类Node
进行阴影处理。你应该写什么:
class NodeList<T extends Node>
类节点列表
然后您有一个类型参数为T
的类,但是T
必须是节点的子类
考虑到3:
您的节点类也是一个模板类,因此它还需要一个参数T
,例如NodeList
。但是为什么Node
是通用的?从哪里可以得到3的警告。请说明该警告的行。@gexicide:我在“public interface NodeList extends Iterable”中得到该警告。Node是泛型的,因为Node需要能够保存不同类型的值。字符串、Int、类B等等,所以我将其设置为泛型。我错了吗?顺便说一句:我不想成为Node的子类。我想要的是NodeList只能是一个节点列表,节点本身可以存储所有类型的值。就这些。。。
class NodeList<T extends Node>