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);
{
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);
改成
ArrayList<Student> al = new ArrayList<Student>();ok
结贴
E:\java\lesson6>javac ArrayListTest.java
注意:ArrayListTest.java 使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。
会把student向上转型为object