关于ArrayList泛型的 我新手就看视频了 不知道怎么改

乔夫的樵夫 2010-03-23 04:07:49
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);


...全文
149 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
岁月之梦 2010-03-23
  • 打赏
  • 举报
回复
照猫画虎那样该!
knightzhuwei 2010-03-23
  • 打赏
  • 举报
回复
ArrayList<Object> al=new ArrayList<Object>()
会把student向上转型为object
乔夫的樵夫 2010-03-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 shensx325 的回复:]

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

ok
结贴
[/Quote]

能告诉我为什么这么改吗
knightzhuwei 2010-03-23
  • 打赏
  • 举报
回复
Student能排序 object不能排序 所以不能装object 只能装student
乔夫的樵夫 2010-03-23
  • 打赏
  • 举报
回复
[Quote=引用楼主 qf_julie 的回复:]
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 ……
[/Quote]



能告诉我为什么这么改吗
乔夫的樵夫 2010-03-23
  • 打赏
  • 举报
回复
能告诉我为什么这么改吗
czmchen 2010-03-23
  • 打赏
  • 举报
回复
编译成功可以用java ArrayListTest运行试试
knightzhuwei 2010-03-23
  • 打赏
  • 举报
回复
这个只是警告 不是错误 没事的
乔夫的樵夫 2010-03-23
  • 打赏
  • 举报
回复
不对啊 改完以后出现了错误 :
E:\java\lesson6>javac ArrayListTest.java
注意:ArrayListTest.java 使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。
bbb332 2010-03-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 shensx325 的回复:]
ArrayList<Object> al=new ArrayList<Object>();
改成
ArrayList<Student> al = new ArrayList<Student>();

ok
结贴
[/Quote]恩。。
shensx325 2010-03-23
  • 打赏
  • 举报
回复
ArrayList<Object> al=new ArrayList<Object>();
改成
ArrayList<Student> al = new ArrayList<Student>();

ok
结贴

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧