Java字符串比较的三种方式(相等比较,大小比较)

目录

1.相等比较

[equals() 方法](#equals() 方法)

[equalsIgnoreCase() 方法](#equalsIgnoreCase() 方法)

2.大小比较

[compareTo() 方法](#compareTo() 方法)

字典顺序比较规则:


1.相等比较

equals() 方法

equals() 方法将逐个地比较两个字符串的每个字符是否相同。如果两个字符串具有相同的字符和长度,它返回 true,否则返回 false。对于字符的大小写,也在检查的范围之内。equals() 方法的语法格式如下:

str1.equals(str2);

equalsIgnoreCase() 方法

equalsIgnoreCase() 方法的作用和语法与 equals() 方法完全相同,唯一不同的是equalsIgnoreCase() 比较时不区分大小写。

2.大小比较

compareTo() 方法

通常,仅仅知道两个字符串是否相同是不够的。对于排序应用来说,必须知道一个字符串是大于、等于还是小于另一个。一个字符串小于另一个指的是它在字典中先出现。而一个字符串大于另一个指的是它在字典中后出现。

compareTo() 方法用于按字典顺序比较两个字符串的大小,该比较是基于字符串各个字符的 Unicode 值

compareTo() 方法的语法格式如下:

str.compareTo(String otherstr);

它会按字典顺序将 str 表示的字符序列与 otherstr 参数表示的字符序列进行比较。如果按字典顺序 str 位于 otherster 参数之前 ,比较结果为一个负整数 ;如果 str 位于 otherstr 之后 ,比较结果为 一个正整数 ;如果两个字符串相等 ,则结果为 0

字典顺序比较规则:

字符串按照字典顺序(lexicographical order)进行比较,并不是仅仅比较第一个字母,而是逐个字符进行比较,直到找到不同的字符或者比较完所有字符。字典顺序比较的规则如下:

  1. 字符比较 :从两个字符串的开始位置(即第一个字符)进行比较,比较它们的Unicode值。如果字符不同 ,则比较结果由第一个不同的字符的Unicode值决定
  2. 长度比较:如果第一个字符相同,则比较下一个字符,依此类推。如果两个字符串在某个位置的字符相同,则比较下一个位置的字符。
  3. 终止条件 :如果两个字符串在某个位置之前的所有字符都相同 ,但一个字符串在该位置之后没有更多的字符,则较短的字符串被认为是"小于"较长的字符串。

举例:

"apple" 和 "banana":比较第一个字符 'a' 和 'b',因为 'a' 的Unicode值小于 'b',所以 "apple" 小于 "banana"。
考虑两个字符串 "apple" 和 "applet":

  • 首先比较第一个字符:'a' 和 'a',它们相同。
  • 然后比较第二个字符:'p' 和 'p',它们相同。
  • 接着比较第三个字符:'p' 和 'p',它们相同。
  • 再比较第四个字符:'l' 和 'l',它们相同。
  • 最后比较第五个字符:'e' 和 't','e' 的Unicode值小于 't' 的Unicode值。

因此,根据字典顺序,"apple" 小于 "applet"。

相关推荐
sdgsdgdsgc1 分钟前
Next.js企业级应用开发:SSR、ISR与性能监控方案
开发语言·前端·javascript
周杰伦_Jay1 小时前
【Java虚拟机(JVM)全面解析】从原理到面试实战、JVM故障处理、类加载、内存区域、垃圾回收
java·jvm
rit84324994 小时前
基于MATLAB的模糊图像复原
开发语言·matlab
fie88894 小时前
基于MATLAB的声呐图像特征提取与显示
开发语言·人工智能
程序员小凯4 小时前
Spring Boot测试框架详解
java·spring boot·后端
豐儀麟阁贵5 小时前
基本数据类型
java·算法
_extraordinary_5 小时前
Java SpringMVC(二) --- 响应,综合性练习
java·开发语言
程序员 Harry5 小时前
深度解析:使用ZIP流式读取大型PPTX文件的最佳实践
java
@。1246 小时前
对于灰度发布(金丝雀发布)的了解
开发语言·前端
wxweven6 小时前
校招面试官揭秘:我们到底在寻找什么样的技术人才?
java·面试·校招