为什么导入 java.util.* 不包括数组和列表?
我在 debian 5 上使用 java
java 版本 “1.6.0_20”
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode, sharing)
为什么以下两者之间存在差异
案例1:
import java.util.*;
案例2:
import java.util.*;
import java.util.Arrays;
import java.util.List;
为什么第一种情况不涵盖第二种情况?
仅当显式导入数组和 List 时,代码才会编译。
法典:
import java.util.*;
import java.util.Arrays;
import java.util.List;
public class Test {
public static void main (String[] args) {
List<Integer> i = new ArrayList(Arrays.asList(1,2,3,4,5,6,7,8,9,10));
List<Integer> j = new ArrayList();
ListIterator<Integer> n = i.listIterator(i.size());
while(n.hasPrevious()) {
j.add(n.previous());
}
println(j);
}
static void println(Object o) {
System.out.println(o);
}
static void print(Object o) {
System.out.print(o);
}
}
当我注释掉第 2 个和第 3 个导入语句时,我遇到的错误是:
nattyp@debian:~/dev/java$ javac Test.java
Test.java:7: cannot find symbol
symbol : method asList(int,int,int,int,int,int,int,int,int,int)
location: class Arrays
List<Integer> i = new ArrayList(Arrays.asList(1,2,3,4,5,6,7,8,9,10));
^
Note: Test.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error
nattyp@debian:~/dev/java$