日期:2014-05-20  浏览次数:20768 次

菜鸟的提问
import   java.util.*;
class   Student   implements   Comparable
{
int   num;
String   name;
Student(int   num,String   name)
{
this.num=num;
this.name=name;
}
public   String   toString()
{
return   num+ "-- "+name;
}
public   int   compareTo(Object   o)
{
Student   s=(Student)o;
return   num> s.num?1:(num==s.num?0:-1);
}
}
class   ArrayListTest
{
public   static   void   main(String   []   args)
{
ArrayList <Student>   a=new   ArrayList <Student> ();
a.add(new   Student(2, "zhangshan "));
a.add(new   Student(1, "lisi "));
a.add(new   Student(3, "wangwu "));
Collections.sort(a);
Iterator   it=a.iterator();
while(it.hasNext())
System.out.println(it.next());
}
}
本人使用的JDK为1.6,为什么当我编译的时候会出现如下内容:
注意:ArrayListTest.java使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用-Xlint:unchecked重新编译。
而当我把代码Collections.sort(a);注释起来的时候却没问题,这是为什么啊?请哪位高手指点一下啦,谢谢啊!!!

------解决方案--------------------
因为sort要用到泛型
不过编译器给的提示可以忽略,这不影响运行
------解决方案--------------------
Collections.sort((Stuendt)a);