问答详情
源自:6-8 学生选课--- 实现学生序列排序

compareTo()方法报错

public int compareTo(Student o) {
		// TODO Auto-generated method stub			
		return this.getId().compareTo(o.getId());//返回0 ,负整数、正整数
	}
报错:Cannot invoke compareTo(int) on the primitive type int


提问者:小光头 2017-07-10 00:01

个回答

  • 小光头
    2017-07-10 20:25:48

    最后,我是这么实现的:compareTo()方法比较的字符串类型是否相等,而我一开始把id设置成int型,

    所以在里面判断语句,返回-1,0,1同样可以达到效果。代码如下:

    @Override
    	public int compareTo(Student o) {
    		// TODO Auto-generated method stub
    		//当前的id和比较参数的id比较
    		int set;
    		if(this.getId()==o.getId()){
    			set =0;
    		}else if(this.getId()<o.getId()){
    			set =-1;
    		}else{
    			set = 1;
    		}
    		return set;//返回-1,0,1


  • T_10
    2017-07-10 01:31:34

    他这个比较的String类型的    int类型的比较会报错