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 测试URL地址是否能正常连接的代码

    Java 测试URL地址是否能正常连接的代码

    本文给大家分享两段代码分别是java测试URL地址是否能正常连接和Java检测URL是否可用或者可打开的代码,代码都很简单,有需要的朋友可以参考下
    2016-08-08
  • 解决Spring Boot项目端口8080被占用的问题

    解决Spring Boot项目端口8080被占用的问题

    这篇文章主要介绍了解决Spring Boot项目端口8080被占用的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • java网上图书商城(2)Category模块

    java网上图书商城(2)Category模块

    这篇文章主要介绍了java网上图书商城,Category模块,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • Spring中@Value注解的使用方法详解

    Spring中@Value注解的使用方法详解

    这篇文章主要介绍了Spring中@Value注解的使用方法详解,在spring项目中必不可少的就是读取配置文件,那么读取配置文件就有两种方式,一种就是使用Spring中@Value注解,还有一种是使用SpringBoot中的@ConfigurationProperties注解,需要的朋友可以参考下
    2024-01-01
  • Java中截取字符串方法的两种用法

    Java中截取字符串方法的两种用法

    这篇文章主要给大家介绍了关于Java中截取字符串方法的两种用法,在Java开发中经常会涉及到对字符串进行截取操作,字符串截取是一种常见且重要的字符串处理技巧,可以根据实际需求获取字符串的指定部分,需要的朋友可以参考下
    2023-09-09
  • java 反射机制详解及实例代码

    java 反射机制详解及实例代码

    这篇文章主要介绍了java 反射机制详解及实例代码的相关资料,需要的朋友可以参考下
    2016-11-11
  • Java开发中的volatile你必须要了解一下

    Java开发中的volatile你必须要了解一下

    这篇文章主要给大家介绍了关于Java开发中volatile的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用java具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-05-05
  • Java延时的3种实现方法举例

    Java延时的3种实现方法举例

    这篇文章主要给大家介绍了关于Java延时的3种实现方法举例,java开发中常会用到延时任务,文中通过实例代码介绍的非常详细,对大家的学习具有一定参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • Java concurrency集合之LinkedBlockingDeque_动力节点Java学院整理

    Java concurrency集合之LinkedBlockingDeque_动力节点Java学院整理

    LinkedBlockingDeque是双向链表实现的双向并发阻塞队列。该阻塞队列同时支持FIFO和FILO两种操作方式,即可以从队列的头和尾同时操作(插入/删除);并且,该阻塞队列是支持线程安全。
    2017-06-06
  • Java定时任务:利用java Timer类实现定时执行任务的功能

    Java定时任务:利用java Timer类实现定时执行任务的功能

    本篇文章主要介绍了利用java Timer类实现定时执行任务的功能,具有一定的参考价值,有需要的可以了解一下。
    2016-11-11

最新评论