Java 为什么不编译:List<;列表<;字符串>&燃气轮机;lss=新阵列列表<;ArrayList<;字符串>&燃气轮机;();
以下代码:Java 为什么不编译:List<;列表<;字符串>&燃气轮机;lss=新阵列列表<;ArrayList<;字符串>&燃气轮机;();,java,generics,arraylist,Java,Generics,Arraylist,以下代码: List<List<String>> lss = new ArrayList<ArrayList<String>>(); List lss=new ArrayList(); 导致此编译时错误的原因: Type mismatch: cannot convert from ArrayList<ArrayList<String>> to List<List<String>> 类型不匹配:无
List<List<String>> lss = new ArrayList<ArrayList<String>>();
List lss=new ArrayList();
导致此编译时错误的原因:
Type mismatch: cannot convert from ArrayList<ArrayList<String>> to List<List<String>>
类型不匹配:无法从ArrayList转换为List
要修复此问题,我将代码更改为:
List<ArrayList<String>> lss = new ArrayList<ArrayList<String>>();
List lss=new ArrayList();
为什么会抛出此错误?这是因为List
中的泛型类型列表是实例化的,并且由于列表是一个接口,所以这是不可能的吗?同样的原因
List<List> myList = new ArrayList<ArrayList>();
List myList=new ArrayList question了解更多详细信息。问题在于泛型中的类型说明符(除非您告诉它)不允许子类。你必须完全匹配
尝试以下任一方法:
List<List<String>> lss = new ArrayList<List<String>>();
List lss=new ArrayList();
或:
列表来自
注:给定两种混凝土类型A和B(例如,编号和
整数),MyClass
与MyClass
没有关系,无论
A和B是否相关。MyClass
而MyClass
是对象
没错,大括号中的所有内容都应该匹配。只有大括号之前的类才能是子类型。
List<? extends List<String>> lss = new ArrayList<ArrayList<String>>();