请帮我解释一下这两种不同写法的区别在哪里?arg1.getName().compareTo(arg0.getName()); 问题看下面:第一种是下面这样:...public int compare(Person arg0,Person arg1)\x05{\x05\x05int result = arg0.getName().compareTo(arg1.
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/25 15:47:39
![请帮我解释一下这两种不同写法的区别在哪里?arg1.getName().compareTo(arg0.getName()); 问题看下面:第一种是下面这样:...public int compare(Person arg0,Person arg1)\x05{\x05\x05int result = arg0.getName().compareTo(arg1.](/uploads/image/z/13183788-12-8.jpg?t=%E8%AF%B7%E5%B8%AE%E6%88%91%E8%A7%A3%E9%87%8A%E4%B8%80%E4%B8%8B%E8%BF%99%E4%B8%A4%E7%A7%8D%E4%B8%8D%E5%90%8C%E5%86%99%E6%B3%95%E7%9A%84%E5%8C%BA%E5%88%AB%E5%9C%A8%E5%93%AA%E9%87%8C%3Farg1.getName%28%29.compareTo%28arg0.getName%28%29%29%3B+%E9%97%AE%E9%A2%98%E7%9C%8B%E4%B8%8B%E9%9D%A2%EF%BC%9A%E7%AC%AC%E4%B8%80%E7%A7%8D%E6%98%AF%E4%B8%8B%E9%9D%A2%E8%BF%99%E6%A0%B7%EF%BC%9A...public+int+compare%28Person+arg0%2CPerson+arg1%29%5Cx05%7B%5Cx05%5Cx05int+result+%3D+arg0.getName%28%29.compareTo%28arg1.)
请帮我解释一下这两种不同写法的区别在哪里?arg1.getName().compareTo(arg0.getName()); 问题看下面:第一种是下面这样:...public int compare(Person arg0,Person arg1)\x05{\x05\x05int result = arg0.getName().compareTo(arg1.
请帮我解释一下这两种不同写法的区别在哪里?arg1.getName().compareTo(arg0.getName()); 问题看下面:
第一种是下面这样:.
.
.
public int compare(Person arg0,Person arg1)
\x05{
\x05\x05int result = arg0.getName().compareTo(arg1.getName());
\x05\x05if (result == 0)
\x05\x05{
\x05\x05\x05return arg0.getID() - arg1.getID();
\x05\x05}
\x05\x05return result;
\x05}
.
.
.
第二种是这样:
.
.
.
public int compare(Person arg0,Person arg1)
\x05{
\x05\x05int result = arg1.getName().compareTo(arg0.getName());
\x05\x05if (result == 0)
\x05\x05{
\x05\x05\x05return arg0.getID() - arg1.getID();
\x05\x05}
\x05\x05return result;
\x05}
.
.
.
这两种有什么区别?不同样是比较两个相同的吗?特别是比较那里,搞不明白变了顺序之后为什么结果就不同!
请帮我解释一下这两种不同写法的区别在哪里?arg1.getName().compareTo(arg0.getName()); 问题看下面:第一种是下面这样:...public int compare(Person arg0,Person arg1)\x05{\x05\x05int result = arg0.getName().compareTo(arg1.
这问题我关注了好几天了.我也想知道答案,好像确实没有人知道啊.我觉得这取决于.compareTo这个函数是怎么写的,可能的区别也就是.compareTo对于arg1和arg0对象采取的不同的操作,再比较两者的值.
比如说,如果x.getName().compareTo(y)函数,在比较x和y之前,对x判断是否为负数,如果是负数,那就直接把result赋1,如果不是,再比较两者的大小.
这样一来,如果arg0<0,arg1>0,那么,arg0.compareTo(arg1)=1,因为arg0<0.但反过来,arg1.compareTo(arg0)=0,因为arg1>0,而且arg1!=arg0.
当然,这里只是举了个简单的例子,实例中的getName()的返回值应该是一个字符串,实际的compareTo对于x的预操作,也应该更复杂.仅供参考~有问题随时追问哈.