返回的值是接口的实现为什么会通不过? 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>
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>
解决方案 »
- 为什么说querysql没定义啊
- request.getParameter() 问题
- 静态页面中怎么引入动态页面吖
- spring的事务问题
- 请大侠来推荐一款功能比较全比较好用的免费的JMS队列中间件
- failed to lazily initialize a collection of role: no session or session was closed
- 请教一段代码
- 100分问: 谁能给几本WEBLOGIC的书籍的下载地址。
- 花了一个晚上写了一个消息轰炸机90%的win2000或xp都有效,好用不用说谢不是什么好东西!
- 从sun公司网站下载的J2EE1.4(BETA版)怎么安装不上?
- struts2.1 xml 验证的错误信息总重复显示, why? 急!
- Hibernate 多表级联查询结果是要自己重新封装成Bean吗
改成
ArrayList<IABC> al=new ArrayList<IABC>();
public List<IABC> test(){
ArrayList<IABC> al=new ArrayList<ABCImpl>();
return al;
}改为这样就OK了。
List<IABC> al=new ArrayList<ABCImpl>();试试
public static List<IABC> test(){
ArrayList<IABC> al=new ArrayList<ABCImpl>();
return al;
}Type mismatch: cannot convert from ArrayList<ABCImpl> to ArrayList<IABC>
List<IABC> al=new ArrayList<IABC>();
return al;
}ArrayList<IABC> 和ArrayList<IABCImpl>不是同一个类型,也不存在任何继承关系
IABC 和 IABCImpl才是继承关系
声明为ArrayList<IABC>可以往里面加入IABCImpl元素。。
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 ArrayList<ABCImpl>();
return al;
}
你当真你的俩个方法都没有编译出错?
什么ide?
难道就是实例化一个list接口的意思?
那么这是最明了的了。
public List<IABC> test(){
return new ArrayList<ICustomerService>();
}
return new ArrayList<IABC>();
}
这还不明白啊,就是返回类型是接口泛型,那么你在返回的时候可以返回接口或者是实现类,但是接口指定的泛型类型不能不同,类型是接口那你就得返回接口类型,而不能把接口类型参数用实例类来替换,如改成ArrayList<ABCImpl>或者List<ABCImpl>
public static List<IABC> test(){
//List<IABC> al=new ArrayList<ABCImpl>();
List<IABC> al=new ArrayList<IABC>();
return al;
}public static List<IABC> test2(){
//ArrayList<IABC> al=new ArrayList<ABCImpl>();
ArrayList<IABC> al=new ArrayList<IABC>();
return al;
}
快乐的时光总是短暂的又到了说拜拜!
今天的课就讲到这下课。