Java中 compareTo() 用法

这篇具有很好参考价值的文章主要介绍了Java中 compareTo() 用法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、int、double无法使用compareTo方法,可以直接用 ><= 来比较

java中compareto的用法,开发技巧,Java 编程,java

 2、用来比较Integer、Double、BigDecimal、Date类型的值

        前大于后 = 1,

        前等于后 = 0,

        前小于后 = -1

java中compareto的用法,开发技巧,Java 编程,java

3、 用来比较String的值,比较的是ASCII值,ASCII 表 | 菜鸟教程

java中compareto的用法,开发技巧,Java 编程,java文章来源地址https://www.toymoban.com/news/detail-857501.html

4、测试代码

/**
 * int、double无法使用compareTo方法,可以直接比较
 */
 
//int int1 = 2;
//int int2 = 3;
//System.err.println(int1.compareTo(int2));
//System.err.println(int1 > int2);

/**
 * 比较Integer、Double、BigDecimal、Date类型的值
 * 前大于后 = 1
 * 前等于后 = 0
 * 前小于后 = -1
 */

//比较Integer的值
Integer i1 = 2;
Integer i2 = 3;
System.out.println(i1.compareTo(i2)); //结果为-1

//比较Double的值
Double d1 = 1.0;
Double d2 = 2.3;
System.out.println(d1.compareTo(d2)); //结果为-1

//比较BigDecimal的值
BigDecimal integralValueSum = new BigDecimal("10");
BigDecimal grpPermBigDecimal = new BigDecimal("10");
System.out.println(integralValueSum.compareTo(grpPermBigDecimal)); //结果为0

//比较Date的值
Date date1 = DateTimeUtil.strToDate("2023-05-06","yyyy-MM-dd");
Date date2 = DateTimeUtil.strToDate("21023-08-06","yyyy-MM-dd");
System.out.println(date1.compareTo(date2)); //结果为-1


/**
 * 比较String的值
 */

//1、如果两个字符的长度一样,则比较ASCII值
String s1 = "A"; //A:ASCII值65
String s2 = "a"; //a:ASCII值97
System.out.println(s1.compareTo(s2)); //结果为-32

//2、如果如果两个字符的长度一样,则比较第一个不同的位置对应自付的ASCII值
String ss1 = "bcvAert"; //A:ASCII值65
String ss2 = "bcvaoiu"; //a:ASCII值97
System.out.println(ss1.compareTo(ss2)); //结果为-32

//3、如果两个字符的长度不一样,则会返回两个字符串的长度差值。
String sss1 = "Abcd";
String sss2 = "Abcdtttttttt";
System.out.println(sss1.compareTo(sss2)); //结果为-8

//4、如果想使用compareTo()来比较字符串类型的日期也是可以的,但是长度必须一致,由于是String类型,比较的依然是第一个不同的字符的ASCII值。
String ssss1 = "2023-05-05";
String ssss2 = "2023-12-05";
System.out.println(ssss1.compareTo(ssss2));//结果为-1

到了这里,关于Java中 compareTo() 用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Java基础教程】(四)程序概念篇 · 中:探索Java编程基础,解析各类运算符功能、用法及其应用场景~

    掌握Java中各类运算符及其运算使用; Java中的语句有很多种形式,表达式就是其中一种形式。 Java中的表达式由操作数、运算符、结果类型和求值顺序等元素组成 ,这些元素共同构成了复杂的逻辑和计算过程。 操作数(Operands) :操作数是表达式中的值或者变量,它们可以是

    2024年02月12日
    浏览(67)
  • Java开发 - Canal的基本用法

    今天给大家带来的是Canal的基本用法,Canal在Java中常被我们用来做数据的同步,当然不是MySQL与MySQL,Redis与Redis之间了,如果是他们,那就好办了,我们可以直接通过配置来完成他们之间的主从、主主,级联等的同步,为什么要用Canal呢?主要是为了完成MySQL与Redis、MySQL与ES之

    2024年02月11日
    浏览(61)
  • Java Stream常见用法汇总,开发效率大幅提升

    本文已经收录到Github仓库,该仓库包含 计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享 等核心知识点,欢迎star~ Github地址 如果访问不了Github,可以访问gitee地址。 gitee地址 Java8 新增的

    2023年04月14日
    浏览(66)
  • 【进阶篇】Java 实际开发中积累的几个小技巧(二)

    目录 前言 六、自定义注解 6.1定义注解 6.2切面实现 6.3业务使用 七、抽象类和接口 7.1隔离业务层与 ORM 层 7.2隔离子系统的业务实现 7.3选择对比 文章小结 笔者目前从事一线 Java 开发今年是第 3 个年头了,从 0-1 的 SaaS、PaaS 的项目做过,基于多租户的标准化开发项目也做过,项

    2024年04月16日
    浏览(45)
  • java开发——shell编程

      Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(command interpreter,命令解析器)。它类似于DOS下的COMMAND.COM和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。   Shell还是一个功能相当强大的编程语言,易编写、易调试、灵活性强的特点

    2024年02月08日
    浏览(33)
  • 【java】开发——《并发编程》

    目录 一.jmm 二.并发了什么 1.只有一个核(单核)并发还有没有意义 2.单核,还有什么可见性问题 3.并发和并行 三.volitaile 1.变量的可见性问题 2.原因是什么 3.本次修改的变量直接刷到主内存 4.声明其他内存对于这个地址的缓存无效 四.happens-befo 1.顺序性问题 五.volitaile+cas 1.原

    2024年02月22日
    浏览(49)
  • 学习SpringBoot入门知识,附带教程源码分享,快速掌握开发技巧-【imooc-java2021】体系课-Java工程师 2022版

    以下截图自 Spring Boot 官方文档: 翻译整理一下,内容如下: Spring Boot 是基于 Spring 框架基础上推出的一个全新的框架, 旨在让开发者可以轻松地创建一个可独立运行的,生产级别的应用程序。 基于 Spring Boot 内部的自动化配置功能,开发者可以在\\\"零\\\"配置, 或者只需要添加很少

    2024年02月06日
    浏览(68)
  • 瑞_Java开发手册_(一)编程规约

    🙊前言:本文章为瑞_系列专栏之《Java开发手册》的编程规约篇,本篇章主要介绍命名风格、常量定义、代码格式、OOP规约、日期时间、集合处理、并发处理、控制语句、注释规约以及其它常见的编程规约。由于博主是从阿里的《Java开发手册》学习到Java的编程规约,所以本

    2024年01月21日
    浏览(44)
  • 🔥🔥Java开发者的Python快速进修指南:控制之if-else和循环技巧

    在我们今天的学习中,让我们简要了解一下Python的控制流程。考虑到我们作为有着丰富Java开发经验的程序员,我们将跳过一些基础概念,如变量和数据类型。如果遇到不熟悉的内容,可以随时查阅文档。但在编写程序或逻辑时,if-else判断和循环操作无疑是我们经常使用的基

    2024年02月05日
    浏览(64)
  • 🔥🔥Java开发者的Python快速进修指南:网络编程及并发编程

    今天我们将对网络编程和多线程技术进行讲解,这两者的原理大家都已经了解了,因此我们主要关注的是它们的写法区别。虽然这些区别并不是非常明显,但我们之所以将网络编程和多线程一起讲解,是因为在学习Java的socket知识时,我们通常会将它们结合使用,以实现服务器

    2024年02月05日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包