痛苦的初学者,错误接二连三:( 编译问题。
//PrintingContainers.java
import java.util.*;
public class PrintingContainers{
static Collection fill(Collection c) {
c.add("dog");
c.add("dog");
c.add("cat");
return c;
}
static Map fill(Map m){
m.put("dog", "bosco");
m.put("dog", "spot");
m.put("cat", "rags");
return m;
}
public static void main(String[] args){
System.out.println(fill(new ArrayList() )); //这行出错。
System.out.println(fill(new HashSet()));
System.out.println(fill(new HashMap()));
}
}
我完全按THINKING IN JAVA第二版里面写的,却出错。错误如下:
D:\Java>javac PrintingContainers.java
PrintingContainers.java:17: cannot access ArrayList
bad class file: .\ArrayList.java
file does not contain class ArrayList
Please remove or make sure it appears in the correct subdirectory of the classpa
th.
System.out.println(fill(new ArrayList() ));
^
Note: PrintingContainers.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error
***********************************************************
但是JDK文档里面也明明写着这个类,真是烦人。请教有人知道为什么吗?