有这么个小程序:
import java.util.*;public class Test {
public static void main(String[] args) {
Collection c = ArrayList();
c.add(new String("today"));
c.add(new Integer(100));
System.out.println(c);
}
}
在编译的时候,出现以下提示:E:\>javac Test.java
注意: Test.java 使用了未经检查或不安全的操作。
注意: 要了解详细信息,请使用 -Xlint:unchecked 重新编译。E:\>
我使用-Xlint:unchecked重新编译后,又出现以下提示:E:\>javac Test.java -Xlint:unchecked
Test.java:6: 警告: [unchecked] 对作为普通类型 java.util.Collection 的成员的 add
(E) 的调用未经检查
                try {c.add(new String("today"));
                          ^
Test.java:7: 警告: [unchecked] 对作为普通类型 java.util.Collection 的成员的 add
(E) 的调用未经检查
                c.add(new Integer(100));
                     ^
2 警告E:\>但是我不知道该如何对这2个add的成员进行检测.知道的高手帮忙解答下,谢谢了.

解决方案 »

  1.   

    给楼主改下  至于什么未经检查  不要紧  那是泛型的事  先不管它
    import java.util.*; public class TestCollection { 
    public static void main(String[] args) { 
    List c = new ArrayList(); 
    c.add(new String("today")); 
    c.add(new Integer(100)); 
    System.out.println(c); 

      

  2.   

    缺少new关键字LZ
    Collection c = new ArrayList();
      

  3.   

    Collection c = ArrayList(); 
    不会报错吗?
      

  4.   

    (1)如果你用Eclipse的话,Eclipse不会提出任何错误。
    (2)是泛型的问题,虽然插入的是Object,但是如果你按下面这样的代码去编译就不会出错import java.util.*;public class Test {
    public static void main(String[] args) {
    Collection<Object> c = new ArrayList<Object>();
    c.add(new String("today"));
    c.add(new Integer("100"));
    System.out.println(c);
    }
    }这要求我们平时用到Collection集合的时候最好用到泛型。一是插入的时候防止插入的是其他的类型,二是在取出的时候不用强制转化,要不取出的只是Object类型。