我知道PECS是什么意思.
制作人扩展,消费者超级.
问题是我怎么知道它是消费者还是生产者?
此代码也遵循“PECS”
public class Tree {
//List of branches for this tree
private List> branch = new ArrayList>();
public Tree(T t){ this.t = t; }
public void addBranch(Tree< ? super T> src){ branch.add(src); }
public Tree extends T> getBranch(int branchNum){
return (Tree extends T>) branch.get(branchNum);
}
private T t;
}
解决方法:
你可以使用的一个很好的助记符是想象返回扩展和接受超级.
一棵树读取树,这意味着您可以在Tree中调用返回T的方法,但不能调用接受T作为参数类型的方法.
标签:java,wildcard,generics,pecs
来源: https://codeday.me/bug/0529/1181827.html
如果觉得《java pecs_Java泛型PECS》对你有帮助,请点赞、收藏,并留下你的观点哦!