import java.util.*;class ArrayListTest
{
public static void printElement(Collection c)
{
Iterator it=c.iterator();
while(it.hasNext())
{
System.out.println(it.next());
}
}
public static void main(String[] args)
{

Student s1=new Student(1,"zhang");
Student s2=new Student(2,"asdaang");
Student s3=new Student(3,"gdfsgng");
Student s4=new Student(4,"rhjkgfgsg");
ArrayList<Object> al=new ArrayList<Object>();
al.add(s1);
al.add(s2);
al.add(s3);
al.add(s4);
Collections.sort(al);
printElement(al);
}
}class Student implements Comparable
{
int num;
String name;
Student(int num,String name)
{
this.num=num;
this.name=name;
}
public int compareTo(Object o)
{
Student s=(Student)o;
return num>s.num ? 1:(num==s.num ? 0:-1);
}
public String toString()
{
return num+":"+name;
}
}
错误信息是:
ArrayListTest.java:51: 找不到符号
符号: 方法 sort(java.util.ArrayList<java.lang.Object
位置: 类 java.util.Collections
                                Collections.sort(al);

解决方案 »

  1.   

    ArrayList<Object> al=new ArrayList<Object>();
    改成
    ArrayList<Student> al = new ArrayList<Student>();ok
    结贴
      

  2.   

    不对啊  改完以后出现了错误 :
    E:\java\lesson6>javac ArrayListTest.java
    注意:ArrayListTest.java 使用了未经检查或不安全的操作。
    注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。
      

  3.   

    编译成功可以用java ArrayListTest运行试试
      

  4.   

    Student能排序 object不能排序 所以不能装object 只能装student
      

  5.   

    ArrayList<Object> al=new ArrayList<Object>()
    会把student向上转型为object