java 关于List类型转换
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 关于List类型转换相关的知识,希望对你有一定的参考价值。
已知两个类AB, B extends A, 有一个方法List<A> excute(List<A>),现在有实例List<B> list=new ArrayList<B>(),怎么excute(list)编译不通过?怎样才能用excute方法处理这个list(excute方法不能改变)
class A
class B extends A
public List<A> excute(List<A> l)
List<A> ll=new ArrayList<A>();
//.......
return ll;
public void main(...)
List<B> blist=new ArrayList<B>();
List<B> resultList=excute(blist);//主要是这代码要改成咋样?
public List<A> excute(List<? extends A> l)
就能彻底实现你想要的效果了,测试完给满意哦
还有 如果方法不想改成静态的,就实例化一下你的公共类本回答被提问者采纳 参考技术C 你是不是没实例化?
静态方法调用动态方法时必须实例化
List<B> blist=new ArrayList<B>();
B b=new B();
List<B> resultList=b.excute(blist); 参考技术D List<T> excute(List<T extends A>) 第5个回答 2012-11-16 你A和B类都是一个空类里面什么都没有,你的excute方法在哪个类里啊?
你这个main方法在什么类里?
以上是关于java 关于List类型转换的主要内容,如果未能解决你的问题,请参考以下文章