关于重写compareTo(); 的问题 帅锅们来看看

关于重写compareTo(); 的问题

为什么重写compareTo();之后 只return了几个数字 就比出大小了 没看懂源码
String类可以用compareTo(); 让字符串从大到小排列吗

为什么这样就是从高到低

//按照价格从高到低排列
    @Override
    public int compareTo(Object o) {
        if(o instanceof Goods){
            Goods goods = (Goods)o;
            if(this.price < goods.price){
                return 1;
            } else if(this.price > goods.price){
                return -1;
            } else{
                return 0;
            }
        } else {
            throw new RuntimeException("参数类型输入错误");
        }
    }

这样就是从第到高


    @Override
    public int compareTo(Object o) {
        if(o instanceof Goods){
            Goods goods = (Goods)o;
            if(this.price > goods.price){
                return 1;
            } else if(this.price < goods.price){
                return -1;
            } else{
                return 0;
            }
        } else {
            throw new RuntimeException("参数类型输入错误");
        }
    }

真没想通 TvT
我的问题可能有点呆 大lao们见谅

你这个不就是只比较了一下price的大小么,然后返回对应的比较结果,确定谁大谁小