菜鸟的提问
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);