标题:Collections.sort()调用错误
只看楼主
windyfzz
Rank: 2
等 级:禁止访问
帖 子:90
专家分:12
注 册:2010-7-25
结帖率:68%
已结贴  问题点数:20 回复次数:8 
Collections.sort()调用错误
import java.lang.*;
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)
    {
      
      Student s1=new Student(2,"zhangsan");
        Student s2=new Student(1,"lisi");
        Student s3=new Student(3,"wangwu");
        ArrayList<Object> al=new ArrayList<Object>();
        al.add(s1);
        al.add(s2);
        al.add(s3);
        Collections.sort(al);
        printElements(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="+num+","+"name="+name;
    }
}
为什么编译错误啊:

说是找不到符号,好想是sort()方法找不到啊。(我的是JDK1.5)
搜索更多相关主题的帖子: sort Collections 
2010-12-08 17:07
windyfzz
Rank: 2
等 级:禁止访问
帖 子:90
专家分:12
注 册:2010-7-25
得分:0 
怎么回事,没人知道吗,急啊!!!
2010-12-09 23:27
lampeter123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:2508
专家分:6424
注 册:2009-1-30
得分:20 
程序代码:
import java.lang.*;
import java.util.*;

public 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)
    {
     
      Student s1=new Student(2,"zhangsan");
        Student s2=new Student(1,"lisi");
        Student s3=new Student(3,"wangwu");
        ArrayList<Object> al=new ArrayList<Object>();
        al.add(s1);
        al.add(s2);
        al.add(s3);
        Collections.sort((List)al);//参数a1 要向上转为List对像
        printElements(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="+num+","+"name="+name;
    }
}

你的优秀和我的人生无关!!!!
    
    我要过的,是属于我自己的生活~~~
2010-12-10 10:59
windyfzz
Rank: 2
等 级:禁止访问
帖 子:90
专家分:12
注 册:2010-7-25
得分:0 
回复 3楼 lampeter123
版主啊,不行哦。

改过之后还是有错:使用了未经检查或不安全的操作。
2010-12-10 12:26
lampeter123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:2508
专家分:6424
注 册:2009-1-30
得分:0 
以下是引用windyfzz在2010-12-10 12:26:53的发言:

版主啊,不行哦。

改过之后还是有错:使用了未经检查或不安全的操作。
ArrayList<Object> al=new ArrayList<Object>();//改为ArrayList<Student> al=new ArrayList<Student>();

你的优秀和我的人生无关!!!!
    
    我要过的,是属于我自己的生活~~~
2010-12-13 10:41
windyfzz
Rank: 2
等 级:禁止访问
帖 子:90
专家分:12
注 册:2010-7-25
得分:0 
回复 5楼 lampeter123
额...还是不行哦。
若改成又提示:ArrayList<Student> al=new ArrayList<Student>();
则编译出错:使用了未经检查或不安全的操作。
版主啊,再给想想吧。
2010-12-13 11:57
lampeter123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:2508
专家分:6424
注 册:2009-1-30
得分:0 
以下是引用windyfzz在2010-12-13 11:57:14的发言:

额...还是不行哦。
若改成又提示:ArrayList al=new ArrayList();
则编译出错:使用了未经检查或不安全的操作。
版主啊,再给想想吧。
注意: public class ArrayListTest 是公共与文件名ArrayListTest.java一致

你的优秀和我的人生无关!!!!
    
    我要过的,是属于我自己的生活~~~
2010-12-13 16:48
lampeter123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:2508
专家分:6424
注 册:2009-1-30
得分:0 
程序是可编译通过的,不用理会警告语吧

你的优秀和我的人生无关!!!!
    
    我要过的,是属于我自己的生活~~~
2010-12-13 16:54
洛云
Rank: 5Rank: 5
等 级:职业侠客
帖 子:204
专家分:356
注 册:2010-2-3
得分:0 
我用的是《21天学通JAVA》的代码,也有类似的警告。求解。


[ 本帖最后由 洛云 于 2010-12-20 12:18 编辑 ]

QQ群:C语言初级群:31066229
   JAVA2自学交流群(筹备中):31066388
UC群:C语言学习:10051714
2010-12-20 12:17



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-328379-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.045721 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved