import java.util.*;
class ArrayListTest
{
public static void main(String[]args)
{
ArrayList al=new ArrayList();
al.add(new Point(1,2));
al.add(new Point(3,4));
for(int i=0;i<al.size();i++)
{
System.out.println(al.get(i));
}
System.out.println(al);
}
}
class Point 
{
private int x,y;
Point(int x,int y)
{
this.x=x;
this.y=y;
}
public String toString()
{
return "x="+x+","+"y="+y;
}
}
E:\java\java-coding\video>javac -Xlint:unchecked ArrayListTest.java
ArrayListTest.java:11: 警告: [unchecked] 对作为普通类型 java.util.ArrayList 的
成员的 add(E) 的调用未经检查
                        al.add(new Point(1,2));
                              ^
ArrayListTest.java:12: 警告: [unchecked] 对作为普通类型 java.util.ArrayList 的
成员的 add(E) 的调用未经检查
                        al.add(new Point(3,4));
                              ^
2 警告应该怎么样修改呢??

解决方案 »

  1.   

    试试add((Object)(new Point(1, 2)))
      

  2.   

    我把你的代码复制,自己编译了一下,没发现任何问题
    结果是:x=1,y=2
            x=3,y=4
           [x=1,y=2, x=3,y=4]
      

  3.   

    如果你的JDK版本是1.5的话试试在定义的时候ArrayList al=new ArrayList();改为List<Point> al=new ArrayList();
      

  4.   

    你的JDK版本是1.5,1.5是支持泛型的,但你的写法不是用泛型的写法,所以编译的时候出了警告,这个不影响的的运行,无视就行了