Java compareTo 函数的作用[重复]

Posted

技术标签:

【中文标题】Java compareTo 函数的作用[重复]【英文标题】:What Java compareTo function does [duplicate] 【发布时间】:2018-10-27 11:20:35 【问题描述】:

我正在将一个项目从 Java 代码迁移到 php,但是一些 Java 代码对我来说是陌生的。我可以知道这段Java代码是做什么的吗?我如何在 PHP 中“解释”这个?

//contentList array
contentsList.sort((ClassBook c1, ClassBook c2)->c1.getClassDate().compareTo(c2.getClassDate()));

谢谢!

【问题讨论】:

它通过使用自定义比较器函数将c1c2 进行比较,从字面上对列表进行排序,这可能在ClassBook 类中实现。 compareTo 顾名思义,就是比较两个值。在您的情况下,它比较 2 个日期。一个可能比另一个早,反之亦然 如果你只是在谷歌中输入'java compareTo',你会在前几个链接中找到非常好的答案。 javadoc 总是一个很好的起点。 PHP 中可能的方法是什么? @Eljay 这甚至可能是另一项研究价值,如前所述,只需 google:Php 比较日期 【参考方案1】:

比较 ClassBook c1 和 ClassBook c2 的顺序。此外,它还会查看日期字段以进行比较。返回负整数、零或正整数,因为此对象小于、等于或大于指定对象。

【讨论】:

Q1:比较后会返回最新的还是最旧的?基于日期比较。 Q2:按什么(名称,索引)排序? @Eljay 整个表达式contentsList.sort(...) 基本上说“按上课日期排序contentsList”。 我们可以认为数字和最小的日期是第一位的。

以上是关于Java compareTo 函数的作用[重复]的主要内容,如果未能解决你的问题,请参考以下文章

比较运算符compareTo()equals()==之间的区别与应用总结

java的comparable接口啥意思

java priorityblockingqueue compareto 返回0啥意思

JAVA中的数组合并问题

Java字符串常见实例与函数

Java基础字符串之如何比较字符串