import java.util.*;
class ArrayListTest
{
public static void printElements(Collection c)
{
Iterator it=c.iterator();
while(it.hasNext())
{
System.out.println(it.next());
}
}
public static void main(String[]args)
{
ArrayList<Student> al=new ArrayList<Student>();
al.add(new Student("zhangsan",18));
al.add(new Student("lisi",17));
al.add(new Student("baby",17));
System.out.println("al:");
printElements(al);
Collections.sort(al); //a
printElements(al);
}
}
class Student implements Comparable
{
String name ;
int age;
Student(String name ,int age)
{
this.name=name;
this.age=age;
}
public String toString()
{
return "name="+name+","+"age="+age;
}
public int compareTo(Object o)
{
Student s=(Student)o;
if(age<s.age)return -1;
if(age>s.age)return 1;
else return name.compareTo(s.name);
}
}
我用的JDK是1.5。支持泛型技术。
我的这个程序有一个警告
ArrayListTest.java:48: 警告: [unchecked] 方法调用未经检查:java.util.Collection
s 中的 <T>sort(java.util.List<T>) 被应用于 <Student>(java.util.ArrayList<Student
>)
Collections.<Student>sort(al);
^
1 警告a行怎么样修改阿??
class ArrayListTest
{
public static void printElements(Collection c)
{
Iterator it=c.iterator();
while(it.hasNext())
{
System.out.println(it.next());
}
}
public static void main(String[]args)
{
ArrayList<Student> al=new ArrayList<Student>();
al.add(new Student("zhangsan",18));
al.add(new Student("lisi",17));
al.add(new Student("baby",17));
System.out.println("al:");
printElements(al);
Collections.sort(al); //a
printElements(al);
}
}
class Student implements Comparable
{
String name ;
int age;
Student(String name ,int age)
{
this.name=name;
this.age=age;
}
public String toString()
{
return "name="+name+","+"age="+age;
}
public int compareTo(Object o)
{
Student s=(Student)o;
if(age<s.age)return -1;
if(age>s.age)return 1;
else return name.compareTo(s.name);
}
}
我用的JDK是1.5。支持泛型技术。
我的这个程序有一个警告
ArrayListTest.java:48: 警告: [unchecked] 方法调用未经检查:java.util.Collection
s 中的 <T>sort(java.util.List<T>) 被应用于 <Student>(java.util.ArrayList<Student
>)
Collections.<Student>sort(al);
^
1 警告a行怎么样修改阿??
ArrayList al=new ArrayList(); 或 List al=new ArrayList();
{
.........
public int compareTo(Student s)
{
if(age<s.age)return -1;
if(age>s.age)return 1;
else return name.compareTo(s.name);
}
.........
}