java compareto源码_java中compareTo源码解析(String类型)
官网API(JDK13):
先上结论:
1、计算compareTo两边字符串的总长度(length())
2、求出总长度中的最小值
3、如果长度相等,比较ASCII值相同,返回0
4、如果长度不相同,从前向后比较每个字母的ASCII值,返回有差异的ASCII码的差值
5、在总长度的最小值中,如果所有的ASCII码相同,则进行长度的相减,返回相减后的值(正数或负数)
源码:
引用API(JDK13):
public int compareTo(字符串 anotherString)
按字典顺序比较两个字符串。比较是基于字符串中每个字符的Unicode值。在String字典上比较此对象表示 的字符序列与自变量字符串表示的字符序列。如果此String对象在字典上在参数字符串之前,则结果为负整数。如果此String对象在字典上跟随自变量字符串,则结果为正整数。如果字符串相等,则结果为零;否则,结果为零。确切地compareTo返回方法0何时equals(Object)返回true。
这是字典顺序的定义。如果两个字符串不同,则它们要么在某个索引处具有不同的字符(这是两个字符串的有效索引),要么它们的长度不同,或者两者都存在。如果它们在一个或多个索引位置具有不同的字符,则令k为最小索引;然后,按照字典顺序,其位置k处的字符具有较小的值(由使用 this.charAt(k)-anotherString.charAt(k)
如果在它们之间没有索引位置不同,则较短的字符串在字典上在较长的字符串之前。在这种情况下, compareTo返回字符串长度的差值,即值:
this.length()-anotherString.length()
有关更细粒度的String比较,请参阅 Collator。
指定者:
compareTo 在界面中 Comparable参数:
anotherString- String要比较的。
返回值:
的值0,如果参数字符串等于该字符串; 0如果该字符串在字典上小于字符串参数,则小于该值;0如果该字符串在字典上大于字符串参数,则该值大于该字符串。
java compareto源码_java中compareTo源码解析(String类型)相关推荐
- java aqs源码_java中AQS源码分析
AQS内部采用CLH队列.CLH队列是由节点组成.内部的Node节点包含的状态有 static final int CANCELLED = 1; static final int SIGNAL ...
- java double转换符_java中字符串怎么转换成double类型
展开全部 public class Demo { public static void main(String[] args) { Demo demo = new Demo(); String str ...
- java.lang.UnsupportedClassVersionError: JVMCFRE003解决方法--jdk 1.6 中switch的参数无法使用String类型
java.lang.UnsupportedClassVersionError: JVMCFRE003解决方法--jdk 1.6 中switch的参数无法使用String类型 参考文章: (1)java ...
- Java浅拷贝和深拷贝(一文足矣),及String类型的坑。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/q258523454/article/d ...
- 1.定义一个Father和Child类,并进行测试。 要求如下: 1)Father类为外部类,类中定义一个私有的String类型的属性name,name的值为“zhangjun”。 2)Child
1.定义一个Father和Child类,并进行测试. 要求如下: 1)Father类为外部类,类中定义一个私有的String类型的属性name,name的值为"zhangjun" ...
- java中compare语句的用法,compare的用法_java中 compareTo()的程序代码及用法
compare的用法与区别? 一.用法 v. (动词) 1.compare的基本意思是"比较,对照",主要用于比较事物的典型特征及其价值,而不在于比较相同与不同. 2.compar ...
- java比较吊的程序代码_java中 compareTo()的程序代码及用法
展开全部 用来实现Comaprable接口,比如现在有个学生类,想通过其中score字段来让两个学生类的实例实现排序 ,可以这62616964757a686964616fe4b893e5b19e313 ...
- java 文本编辑器 源码_java文本编辑器源码
import javax.swing.*; import java.awt.*; import java.io.*; import java.awt.event.*; public class Txt ...
- java compareto 返回值_Java File compareTo()方法
Java File compareTo()方法 java.io.File.compareTo(File pathname) 方法比较两个抽象路径名的字典顺序.用这种方法定义的排序是依赖于操作系统. 1 ...
最新文章
- 《Swift开发实战》——第16章,第16.2节下标脚本用法
- sql两个表查不同数据_产品操作MySQL第6篇 – 数据过滤-WHERE子句
- Oracle应用容器云的自由
- sql 把特定数据排在最前面
- 阿里达摩院-视觉方向(校招、社招、实习),欢迎各路大神
- java controller json_Controller 获取 JSON
- 红橙Darren视频笔记 旋转加载界面
- 为什么说ES6的class是语法糖?
- 浅谈SSD应用和发展趋势
- matlab的默认复数开方
- npcap关闭_npcap是什么软件
- B.FRIENDit壁虎忍者品牌故事
- Python爬虫之scrapy分布式爬虫
- 最近研究NFC的总结
- 多商户商城系统功能拆解39讲-平台端营销-砍价记录
- 通俗地、有效地学习Linux驱动应用(只要没更完有空就更)
- 基于Qt平台开发安卓应用
- 战队口号霸气押韵8字_校园运动会加油霸气押韵口号文案 2020最有特色的运动会口号...
- idea使用大全 idea快捷键大全
- MySQL必知必会读书笔记一