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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 你知道Java中的注解可以继承吗?

    你知道Java中的注解可以继承吗?

    注解想必大家都用过,也叫元数据,是一种代码级别的注释,可以对类或者方法等元素做标记说明。那么今天我想问大家的是类被继承了,注解能否继承呢?可能会和大家想的不一样,感兴趣的可以往下看
    2022-12-12
  • SpringBoot集成Spring Security用JWT令牌实现登录和鉴权的方法

    SpringBoot集成Spring Security用JWT令牌实现登录和鉴权的方法

    这篇文章主要介绍了SpringBoot集成Spring Security用JWT令牌实现登录和鉴权的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • MyBatis图文并茂讲解注解开发一对一查询

    MyBatis图文并茂讲解注解开发一对一查询

    这篇文章主要介绍了SpringBoot中Mybatis注解一对一查询的实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • 你应该知道的这些Mybatis-Plus使用技巧(小结)

    你应该知道的这些Mybatis-Plus使用技巧(小结)

    这篇文章主要介绍了你应该知道的这些Mybatis-Plus使用技巧(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Spring注解驱动之关于@Bean注解指定初始化和销毁的方法

    Spring注解驱动之关于@Bean注解指定初始化和销毁的方法

    这篇文章主要介绍了Spring注解驱动之关于@Bean注解指定初始化和销毁的方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • Spring中的@Scheduled定时任务注解详解

    Spring中的@Scheduled定时任务注解详解

    这篇文章主要介绍了Spring中的@Scheduled定时任务注解详解,要使用@Scheduled注解,首先需要在启动类添加@EnableScheduling,启用Spring的计划任务执行功能,这样可以在容器中的任何Spring管理的bean上检测@Scheduled注解,执行计划任务,需要的朋友可以参考下
    2023-09-09
  • 通过案例了解静态修饰符static使用场景

    通过案例了解静态修饰符static使用场景

    这篇文章主要介绍了通过案例了解静态修饰符static使用场景,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • Spring Cloud Feign请求添加headers的实现方式

    Spring Cloud Feign请求添加headers的实现方式

    这篇文章主要介绍了Spring Cloud Feign请求添加headers的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • Maven打包之解决没有依赖jar包问题及分析

    Maven打包之解决没有依赖jar包问题及分析

    用户使用Maven打包FTPServer程序时,因未配置依赖打包导致jar体积过小且运行报错,解决方法是添加maven-assembly插件生成包含依赖的jar包,确保程序正常运行
    2025-09-09
  • Java计算时间差和日期差五种常用示例

    Java计算时间差和日期差五种常用示例

    这篇文章主要给大家介绍了关于Java计算时间差和日期差五种常用示例的相关资料,最近工作中遇到需要计算时间差和日期差,搜索了几种计算时间差和日期差的方法,这里总结一下,需要的朋友可以参考下
    2023-08-08

最新评论