import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;public class UserDao {
public List<? extends Object> getmyList(){
List<User> list1 = new ArrayList<User>();
list1.add(new User());
return list1;
}
public void remove(List<?> list){
System.out.println("---");
}
public static void main(String[] args) {
UserDao dao = new UserDao();
List<User> list1 = new ArrayList<User>();
dao.remove(list1);
List<User> list = dao.getmyList();
System.out.println(list1);
}
} 我现在在编写一个基类,在一个方法返回的List泛型时,我不想直接指定类型,然后用任意的类型就可以了,但是现在问题来了,这个List<User> list = dao.getmyList(); 永远都是报编译错误。我开始以为是myeclipse的编译器的问题,但是我不管换JDK都不行,而且强行运行就会抛出异常
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Type mismatch: cannot convert from List<capture#1-of ? extends Object> to List<User>
不知道是个什么样的原因,我要如何做才行呢?
List<? extends Object> list = dao.getmyList();这样写也行哦
强转应该没问题的吧