为了账号安全,请及时绑定邮箱和手机立即绑定

Java中接口返回List<自身类型>时, 实现类如何实现?

Java中接口返回List<自身类型>时, 实现类如何实现?

弑天下 2019-03-18 14:28:30
场景:这个是接口public interface TreeNode<T> {    public List<T> levelOrder();         public List<TreeNode<T>> getChildNodes();         public T getVal();         public void setVal(T val); }这个是实现类public class BinaryTreeNode<T> implements TreeNode<T> {     @Override     public List<BinaryTreeNode<T>> getChildNodes(){        return null;     } }这里会报错,如果把返回类型改成TreeNode<T>[], 则实现方法那里可以为BinaryTreeNode<T>[].提问:如果我想要接口返回List/Map等集合类, 而不是数组, 应该怎么做?
查看完整描述

2 回答

?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

public List<? extends TreeNode<T>> getChildNodes();


查看完整回答
反对 回复 2019-03-18
?
ibeautiful

TA贡献1993条经验 获得超6个赞

下仅供参考。

public interface TreeNode<T, S extends TreeNode<T, S>> {  // ...
  List<S> getChildNodes();  // ...}

public class BinaryTreeNode<T> implements TreeNode<T, BinaryTreeNode<T>> {  // ...

  @Override
  public List<BinaryTreeNode<T>> getChildNodes() {    // ...
  }  // ...}


查看完整回答
反对 回复 2019-03-18
  • 2 回答
  • 0 关注
  • 1282 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号