小编jav*_*ent的帖子

Java泛型GetThis技巧解释

我正在阅读Java Generics,我遇到了这个主题,我有点困惑.

来自:http://www.angelikalanger.com/GenericsFAQ/FAQSections/ProgrammingIdioms.html#FAQ205

public abstract class Node <N extends Node<N>>  {
   private final List<N> children = new ArrayList<N>();
   private final N parent;

   protected Node(N parent) {
     this.parent = parent;
     parent.children.add(this);  // error: incompatible types
   }
   public N getParent() {
     return parent;
   }
   public List<N> getChildren() {
     return children;
   }
 }

public class SpecialNode extends Node<SpecialNode> {
   public SpecialNode(SpecialNode parent) {
     super(parent);
   }
} 
Run Code Online (Sandbox Code Playgroud)

滚动降低几个屏幕......

public abstract class Node <N extends Node<N>>  {
   ...
   protected Node(N parent) { …
Run Code Online (Sandbox Code Playgroud)

java generics classcastexception

7
推荐指数
1
解决办法
1759
查看次数

标签 统计

classcastexception ×1

generics ×1

java ×1