读书人

回到的值是接口的实现为什么会通不过

发布时间: 2013-01-23 10:44:49 作者: rapoo

返回的值是接口的实现为什么会通不过?
返回的值是接口的实现为什么会通不过?

public List<IABC> test(){
ArrayList<ABCImpl> al=new ArrayList<ABCImpl>();
return al;
}

返回值al不通过,方法的返回类型List<InterFaceABC>,我返回的正是实现list的arraylist,接口IABC的ABCImpl怎么会通不过。提示说:Type mismatch: cannot convert from ArrayList<ABCImpl> to List<IABC>
[解决办法]
cannot convert from ArrayList<ABCImpl> to List<IABC> 这还不明显吗?
[解决办法]
ArrayList<ABCImpl> al=new ArrayList<ABCImpl>();
改成
ArrayList<IABC> al=new ArrayList<IABC>();
[解决办法]


public List<IABC> test(){
ArrayList<IABC> al=new ArrayList<ABCImpl>();
return al;
}



改为这样就OK了。
[解决办法]
引用:
ArrayList<ABCImpl> al=new ArrayList<ABCImpl>();
改成
ArrayList<IABC> al=new ArrayList<IABC>();
+10086
List<IABC> al=new ArrayList<ABCImpl>();试试
[解决办法]
public static List<IABC> test(){
List<IABC> al=new ArrayList<IABC>();
return al;
}

ArrayList<IABC> 和ArrayList<IABCImpl>不是同一个类型,也不存在任何继承关系
IABC 和 IABCImpl才是继承关系
声明为ArrayList<IABC>可以往里面加入IABCImpl元素。。



[解决办法]
public List<IABC> test(){
List<IABC> al=new ArrayList<IABC>();
IABC iabc = new ABCImpl();
al.add(iabc);
return al;
}


[解决办法]
引用:
还是我来写两个能通过,不要轻视小问题啊,各位小兄弟们。
public static List<IABC> test(){
List<IABC> al=new ArrayList<ABCImpl>();
return al;
}

public static List<IABC> test2(){
ArrayList<IABC> al=new ……


你当真你的俩个方法都没有编译出错?
什么ide?
[解决办法]

难道就是实例化一个list接口的意思?
那么这是最明了的了。
 public List<IABC> test(){
return new ArrayList<ICustomerService>();
}

[解决办法]
引用:
难道就是实例化一个list接口的意思?
那么这是最明了的了。
Java code?123 public List<IABC> test(){ return new ArrayList<ICustomerService>(); }

笔误,ICustomerService是我测试的:

?public?List<IABC>?test(){
????????return?new?ArrayList<IABC>();
?}

读书人网 >J2EE开发

热点推荐