3-3取值问题
老师是先写NameComparator这个类的,然后重写了compare这个方法;
在方法中进行了o1和o2的对比, 写完了这个类,才开始写CatTest这个类,
但是老师在compare这个方法的时候,写的是升序排序。
但是升序排列的规则是 name1>name2, 取正整数,才可以实现升序;
那么老师再还没写测试类,怎么来判断 name1肯定一定>name2,取得是正整数,则实现的是升序呢?
正在回答 回答被采纳积分+1
同学你好,
首先,
compareTo方法的返回值是int类型的,意义就是:
如果返回值小于0,说明第一个比第二个小(不交换两个的位置);
如果返回值等于0,说明第一个等于第二个(不交换两个的位置);
如果返回值大于0,说明第一个比第二个大(交换两个的位置)。
当
name1.compareTo(name2); 如果 name1 和name2比较,返回的是小于0,也就是 name1 比name2 小,不交换位置,说明这个是个升序
当
name2.compareTo(name1); 如果 name2 和name1比较,返回的是小于0,也就是name2 比name1 小,不交换位置,说明这个是个降序
同学可以带入一下数字
例如,name1 为 “1 ”,name2为 “2”
name1.compareTo(name2); 返回为负数,且不交换位置, 也就是 “1”,“2”
name2.compareTo(name1); 返回为正数 ,需要交换两个的位置,也就是
“2”,“1”
由此可见,name1.compareTo(name2);为升序
name2.compareTo(name1);为降序
问题2:转换成ASICC值吗?
是的,转换成ASICC比较的
不知道老师的讲解同学是否明白了,如果不明白,可以再次提问。
- 参与学习 人
- 提交作业 9400 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星