import java.util.*;
public class ArrayList1{
public static void main(String[] args){ ArrayList al = new ArrayList();
al.add(new Integer(1));
al.add(new Integer(3));
al.add(new Integer(2));
System.out.println(al.toString()); Collections.sort(al);
System.out.println(al.toString());
}
}编译时出现未经调用检查、转换,是什么原因?
怎么解决?

解决方案 »

  1.   

    我在Eclipse, JDK1.5下编译没问题,只是有警告,建议用模板Java codeArrayList<Integer> al = new ArrayList<Integer>(); 
    al.add(new Integer(1)); 
    al.add(new Integer(3)); 
    al.add(new Integer(2)); 
    System.out.println(al.toString()); Collections.sort(al); 
    System.out.println(al.toString()); 
      

  2.   

    我在  命令提示符窗口下编译时  出现
    ArrayList1.java:9: 警告: [unchecked] 对作为普通类型 java.util.ArrayList 的成员的add(E)的调用未经检查
    al.add(new Integer(1));
       ^
    等类似的情况
      

  3.   

    就是泛型,把要保存的类型告诉它就行了import java.util.*; 
    public class ArrayList1{ 
    public static void main(String[] args){  ArrayList<Integer> al = new ArrayList<Integer>(); 
    al.add(new Integer(1)); 
    al.add(new Integer(3)); 
    al.add(new Integer(2)); 
    System.out.println(al.toString());  Collections.sort(al); 
    System.out.println(al.toString()); 

    }还一种方法就是忽略它
    import java.util.*; 
    public class ArrayList1{ 
    @SuppressWarnings("unchecked")
    public static void main(String[] args){  ArrayList al = new ArrayList(); 
    al.add(new Integer(1)); 
    al.add(new Integer(3)); 
    al.add(new Integer(2)); 
    System.out.println(al.toString());  Collections.sort(al); 
    System.out.println(al.toString()); 

    }