Java中compareTo方法使用小结

 更新时间:2024年01月05日 11:31:06   作者:程序员iteng  
compareTo是Java中Object类中的一个方法,它的作用是比较两个对象的大小关系,本文主要介绍了Java中compareTo方法使用小结,感兴趣的可以了解一下

compareTo 是实例方法,只能对象调用。所以不能比较基本类型

1. compareTo方法参数

public int compareTo(参数类型 值) {
	...
}

参数类型可以是一个 ByteDoubleIntegerFloatLong 或 Short 类型的参数。也可以是String类型

2. compareTo方法返回值

  • 如果调用者的值参数的值相等返回0
  • 如果调用者的值小于参数的值返回 -1
  • 如果调用者的值大于参数的值返回 1

案例:

 Long long1 = 1l;
 Long long2 = 2l;
 Long long3 = 1l;
 Long long4 = 4l;

 System.out.println(long1.compareTo(long2));//-1
 System.out.println(long1.compareTo(long3));//0
 System.out.println(long4.compareTo(long1));//1

3. String类型使用CompareTo方法进行比较

  • compareTo()的返回值是整型,它是先比较对应字符的大小(ASCII码顺序)。
  • 如果调用者第一个字符参数的第一个字符不等,结束比较,返回他们之间的差值
  • 如果调用者第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符有一方完全相等,这时就比较字符串的长度

案例:

String abc = "abc";
String abcde = "abcde";
String one = "1";
String two = "2";
String one2 = "1";
System.out.println(abc.compareTo(abcde));//有一方完全相等,返回字符串长度差-2
System.out.println(one.compareTo(two));//字符不相等,返回ASCII码差值-1
System.out.println(one.compareTo(one2));//字符完全相等,返回0

补:Integer比较用compareTo()时

1,对比数字时相同,返回0。

2,对比数字不同,若调用compareTo()的num1比num2大时,返回1;若调用compareTo()的num2比num1大时,返回-1。

Integer num1 = 5;
Integer num2 = 10;
System.out.println(num1.compareTo(num2));//返回-1
System.out.println(num2.compareTo(num1));//返回1
Integer num3 = 9;
Integer num4 = 9;
System.out.println(num3.compareTo(num4));//返回0

到此这篇关于Java中compareTo方法使用小结的文章就介绍到这了,更多相关Java compareTo内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

最新评论