草庐IT

CompareTo

全部标签

java - Java中的字符串比较

“按字典顺序比较两个字符串”是什么意思? 最佳答案 根据@Bozho和@aioobe的答案,字典比较类似于人们可能在字典中找到的顺序。JavaString类提供了.compareTo()方法以按字典顺序比较字符串。像这样使用"apple".compareTo("banana").这个方法的返回是一个int,可以解释如下:返回返回==0则这两个字符串在字典上是等价的返回>0,则传递给compareTo方法的参数按字典顺序排列。更具体地说,该方法提供了ASCII值的第一个非零差异。因此"computer".compareTo("comp

java - compare() 和 compareTo() 有什么区别?

Java的compare()和compareTo()方法有什么区别?这些方法给出相同的答案吗? 最佳答案 来自JavaNotes:a.compareTo(b):Comparableinterface:比较值并返回一个int值,它表明值比较小于、等于还是大于。如果您的类对象具有自然顺序,请实现Comparable接口(interface)并定义此方法。所有具有自然排序的Java类都实现了Comparable-示例:String,wrapperclasses,BigIntegercompare(a,b):比较器接口(interface)

java - compare() 和 compareTo() 有什么区别?

Java的compare()和compareTo()方法有什么区别?这些方法给出相同的答案吗? 最佳答案 来自JavaNotes:a.compareTo(b):Comparableinterface:比较值并返回一个int值,它表明值比较小于、等于还是大于。如果您的类对象具有自然顺序,请实现Comparable接口(interface)并定义此方法。所有具有自然排序的Java类都实现了Comparable-示例:String,wrapperclasses,BigIntegercompare(a,b):比较器接口(interface)

java - compareTo() 与 equals()

在Java中测试String的相等性时,我一直使用equals(),因为对我来说这似乎是最自然的方法。毕竟,它的名字已经说明了它打算做什么。然而,我的一位同事最近告诉我,有人教我使用compareTo()==0而不是equals()。这感觉不自然(因为compareTo()旨在提供排序而不是比较相等),甚至有些危险(因为compareTo()==0并不一定意味着在所有情况下都相等,即使我知道它对我来说是String's)。他不知道为什么教他使用compareTo()而不是equals()来表示String,我可以也找不到任何理由。这真的是个人喜好问题,还是任何一种方法都有真正的原因?

java - compareTo() 与 equals()

在Java中测试String的相等性时,我一直使用equals(),因为对我来说这似乎是最自然的方法。毕竟,它的名字已经说明了它打算做什么。然而,我的一位同事最近告诉我,有人教我使用compareTo()==0而不是equals()。这感觉不自然(因为compareTo()旨在提供排序而不是比较相等),甚至有些危险(因为compareTo()==0并不一定意味着在所有情况下都相等,即使我知道它对我来说是String's)。他不知道为什么教他使用compareTo()而不是equals()来表示String,我可以也找不到任何理由。这真的是个人喜好问题,还是任何一种方法都有真正的原因?

java - BigDecimal equals() 与 compareTo()

考虑简单的测试类:importjava.math.BigDecimal;/***@authorTheEliteGentleman**/publicclassMain{/***@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubBigDecimalx=newBigDecimal("1");BigDecimaly=newBigDecimal("1.00");System.out.println(x.equals(y));System.out.println(x.compareTo(y)==

java - BigDecimal equals() 与 compareTo()

考虑简单的测试类:importjava.math.BigDecimal;/***@authorTheEliteGentleman**/publicclassMain{/***@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubBigDecimalx=newBigDecimal("1");BigDecimaly=newBigDecimal("1.00");System.out.println(x.equals(y));System.out.println(x.compareTo(y)==

java - 如何简化 null 安全的 compareTo() 实现?

我正在为诸如此类的简单类实现compareTo()方法(以便能够使用Collections.sort()和Java提供的其他好东西平台):publicclassMetadataimplementsComparable{privateStringname;privateStringvalue;//Imaginebasicconstructorandaccessorshere//Irrelevantpartsomitted}我希望这些对象的自然排序是:1)按名称排序,2)如果名称相同,则按值排序;两种比较都应该不区分大小写。对于这两个字段,空值是完全可以接受的,因此compareTo在这些

java - 如何简化 null 安全的 compareTo() 实现?

我正在为诸如此类的简单类实现compareTo()方法(以便能够使用Collections.sort()和Java提供的其他好东西平台):publicclassMetadataimplementsComparable{privateStringname;privateStringvalue;//Imaginebasicconstructorandaccessorshere//Irrelevantpartsomitted}我希望这些对象的自然排序是:1)按名称排序,2)如果名称相同,则按值排序;两种比较都应该不区分大小写。对于这两个字段,空值是完全可以接受的,因此compareTo在这些

Java中两个字符串进行大小比较

一:大小比较:使用String.compareTo方法compareTo()的返回值是int,它是先比较对应字符的大小(ASCII码顺序)1、如果字符串相等返回值02、如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值(ascii码值)(负值前字符串的值小于后字符串,正值前字符串大于后字符串)3、如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方全比较完,这时就比较字符的长度.例:Strings1="abc";Strings2="abcd";Strings3="abcdfg";Strings4="1bcdf