1、int、double无法使用compareTo方法,可以直接用 ><= 来比较
2、用来比较Integer、Double、BigDecimal、Date类型的值
前大于后 = 1,
前等于后 = 0,
前小于后 = -1
文章来源:https://www.toymoban.com/news/detail-857501.html
3、 用来比较String的值,比较的是ASCII值,ASCII 表 | 菜鸟教程
文章来源地址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模板网!