java如何将ArrayList分配给列表?
我有以下代码:
import java.util.*;
public class hello {
public static void main( String[] args ) {
Collection c = new ArrayList< Integer >();
List l = new ArrayList< String >();
}
}
并在“列表l”行中获取错误:
hello.java:6: error: incompatible types
List l = new ArrayList< String >();
^
required: List
found: ArrayList<String>
1 error
我正在使用OpenJDK 1.7:
java version "1.7.0_25"
OpenJDK Runtime Environment (IcedTea 2.3.12) (7u25-2.3.12-4ubuntu3)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
编辑:当我使用List<String>
时,会发生以下情况:
hello.java:6: error: type List does not take parameters
List< String > l = new ArrayList< String >();
^
1 error
# 1 楼答案
使用相同的导入语句,运行下面的代码,查看要导入的列表类
此外,在同一个源文件或另一个java源文件中,可能有定义为内联的列表类,如下所示:在这种情况下,将使用该类:
# 2 楼答案
我已经用我的OpenJDK检查了这一行:
它编译时完全没有抱怨
根据您的第二个错误(“
List
不接受类型参数”),我猜您在同一个包中定义了一个List
类型,并且它优先于JDK类型,或者您使用了更多未显示的导入语句,例如其中该包包含一个
List
小部件