场景:这个是接口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贡献2011条经验 获得超2个赞
以下仅供参考。
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() { // ... } // ...}
添加回答
举报
0/150
提交
取消