Java字符串比较(3种办法

article/2025/11/6 10:16:32

      字符串比较是常见的操作,包括比较相等、比较大小、比较前缀和后缀串等。在 Java 中,比较字符串的常用方法有 3 个:equals() 方法、equalsIgnoreCase() 方法、 compareTo() 方法。下面详细介绍这 3 个方法的使用。

1.equals() 方法

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

str1.equals(str2);

     str1 和 str2 可以是字符串变量, 也可以是字符串字面量。 例如, 下列表达式是合法的: 

"Hello".equals(greeting);

下面的代码说明了 equals() 方法的使用:

String str1 = "abc";
String str2 = "abc";
String str3 = "ABC";
System.out.println(str1.equals(str2)); // 输出 true
System.out.println(str1.equals(str3)); // 输出 false

 2.equalsIgnoreCase() 方法

       equalsIgnoreCase() 方法的作用和语法与 equals() 方法完全相同,唯一不同的是 equalsIgnoreCase() 比较时不区分大小写。当比较两个字符串时,它会认为 A-Z 和 a-z 是一样的。

      下面的代码说明了 equalsIgnoreCase() 的使用:

String str1 = "abc";
String str2 = "ABC";
System.out.println(str1.equalsIgnoreCase(str2));    // 输出 true

3.compareTo() 方法

       通常,仅仅知道两个字符串是否相同是不够的。对于排序应用来说,必须知道一个字符串是大于、等于还是小于另一个。一个字符串小于另一个指的是它在字典中先出现。而一个字符串大于另一个指的是它在字典中后出现。字符串(String)的 compareTo() 方法实现了这种功能。
       compareTo() 方法用于按字典顺序比较两个字符串的大小,该比较是基于字符串各个字符的 Unicode 值。compareTo() 方法的语法格式如下:

str1.compareTo(str2);

       它会按字典顺序将 str 表示的字符序列与 otherstr 参数表示的字符序列进行比较。如果按字典顺序 str 位于 otherster 参数之前,比较结果为一个负整数;如果 str 位于 otherstr 之后,比较结果为一个正整数;如果两个字符串相等,则结果为 0。
       
提示:如果两个字符串调用 equals() 方法返回 true,那么调用 compareTo() 方法会返回 0。

       编写一个简单的 Java 程序,演示 compareTo() 方法比较字符串的用法,以及返回值的区别。代码如下:

public static void main(String[] args) {String str = "A";String str1 = "a";System.out.println("str.compareTo(str1)的结果是:" + str.compareTo(str1));System.out.println("str1.compareTo(str)的结果是:" + str1.compareTo(str));System.out.println("str1.compareTo('a')的结果是:" + str1.compareTo("a"));
}

4.补充:equals()与==的比较

      理解 equals() 方法和==运算符执行的是两个不同的操作是重要的。如同刚才解释的那样,equals() 方法比较字符串对象中的字符。而==运算符比较两个对象引用看它们是否引用相同的实例。

       下面的程序说明了两个不同的字符串(String)对象是如何能够包含相同字符的,但同时这些对象引用是不相等的:

String s1 = "Hello";
String s2 = new String(s1);
System.out.println(s1.equals(s2)); // 输出true
System.out.println(s1 == s2); // 输出false

       变量 s1 指向由“Hello”创建的字符串实例。s2 所指的的对象是以 s1 作为初始化而创建的。因此这两个字符串对象的内容是一样的。但它们是不同的对象,这就意味着 s1 和 s2 没有指向同一的对象,因此它们是不==的。

       因此,千万不要使用==运算符测试字符串的相等性,以免在程序中出现糟糕的 bug。从表面上看,这种 bug 很像随机产生的间歇性错误。

       当然,每一种语言都会存在一些不太一致的地方。C 程序员从不使用==对字符串进行比较,而使用 strcmp 函数。Java 的 compareTo 方法与 strcmp 完全类似。

希望uu们看完能有所收获呀,也希望能留下宝贵的3连o!!!


http://chatgpt.dhexx.cn/article/D6RMxB5w.shtml

相关文章

Java后端:字符串比较(共四种方法,有方法介绍、易错点分析、Java源码,值得一看!)

Java后端:字符串比较(共四种方法,有方法介绍、易错点分析、Java源码,值得一看!) 前言一、推荐使用:equals()二、最容易想到:用Str1 Str2判断三、最容易忽略:compareTo()…

修改VSCode编辑器的主题和代码颜色

修改Visual Studio Code编辑器的主题和代码颜色 摘要:自定义Visual Studio Code(VSCode)的主题和代码颜色 在VS Code 的左下角,点击设置。 打开设置后,在搜索栏搜索关键字:主题。 搜索结果显示有许多个在s…

VSCode C/C++ Theme主题自定义配色方案

此文针对 C/C Theme 插件内的主题进行自定义选择性优化。 文章目录 前言一、基本快捷键二、修改配色步骤1.主题的json文件2.获取代码作用域 前言 最近喜欢浅色主题,但是找了很多主题,都没有让我完全满意的,比如说很多主题的结构体成员变量、…

VSCode修改主题颜色

参考:https://jingyan.baidu.com/article/ea24bc3983f2b59b63b33144.html 步骤1:使用vscode打开一个工程,点击左下角的设置按钮。 步骤2:在弹出的列表选择“Color Theme”。 步骤3:选择后缀为“Light”的主题&#…

【宇宙最强编辑器VS Code】(二)美化VS Code(更换主题和文件图标主题、设置背景图片)

上百篇原创人工智能系列教程,从理论到实战,手把手带你掌握人工智能,点击☞这里☜进入传送门~ 1.VSCode更换主题 1.1.更换内置主题 选择文件->首选项->颜色主题进入主题设置界面,按上下箭头预览主题,按回车更换…

vscode 自定义代码主题颜色

VS Code自定义主题色 基本结构UserJSON配置格式工作台颜色配置编辑区文本颜色目录配置代码scope检查 基本结构 F1 搜索Open User Settings (JSON)打开用户设置JSON文件(以下称作UserJSON) UserJSON配置格式 //https://www.jetbrains.com/zh-cn/lp/mon…

【编辑器】VSCode界面美化,图标与主题插件大全

1、VSCode图标插件 1、vscode-icons VSCode官方出品的图标库 2、Material Icon Theme 扁平化的主题图标库,采用了 Google Material Design 风格 3、vscode-icons-mac vscode-icons-mac 的文件图标与 vscode-icons 一致,只是文件夹图标改成了 Mac 风格…

Vscode 绿色系清新主题

炎炎夏日,上班上的心浮气躁,敲代码的时候,只觉昏昏沉沉,浑浑噩噩... 给vscode换一个一个清新美好的绿色主题,充满活力和希望吧。 朋友们,收藏起来,每个季节换一个主题,打工快乐&am…

vscode美化:主题切换+背景图片设置

目录 1.主题切换 1.1 使用vscode自带的主题 1.2 使用插件 2.背景图片设置 2.1 内部配置文件设置(自定义) 2.2 安装插件-[background] 2.3 安装插件-[background-cover](推荐) 1.主题切换 1.1 使用vscode自带的主题 步骤:文件——首选…

自定义你的VSCode:主题、文件图标、快捷键、设置、schema、插件

超详细VSCode安装教程(Windows)推荐自己的专栏:分享使用VS Code的基本操作与各种技巧 请记住一点,VSCode中的一切快捷键操作都可以在控制面板中输入对应的命令来完成,并且常用命令还可以在菜单栏中找到,命…

VScode 主题字体颜色 必备插件

主题字体颜色 通过文件>首选项>设置 > 搜索workbench.settings.editor,选中json即可改成json设置 // settings.json (个人配置) {"files.associations": {"*.vue": "vue","*.wpy": "vue","*.wxm…

VScode 自定义主题颜色

vscode其实已经有很多完善且好看的主题了,但我总觉得每一个主题对我来说,都有那么一点点不够完美,比如亮色的主题,颜色就没有深色主题那么好看,对比度高。 好不容易看到一个好看的主题吧,又觉得某一部分的…

把VScode的主题变得和idea一样

用惯了jetbrains系列软件,不太适应VScode的主题和颜色,可以通过一个插件把VScode的颜色变得和idea一样 打开VScode,搜索插件jetbrains, JetBrains Darcula Theme是暗色,Webstorm JetBrains Theme是亮色 和idea对比效果: 与些许差距…

7 款炫酷的 VSCode 主题扩展

👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇 作者丨小集 来源丨小集(ID:zsxjtip) 在 VSCode 中,安装自定义主题和图标包可以彻底改变 VSCode 的外观。VSCode 有数千…

推荐几款好用的VsCode色彩主题

经常对着同一款主题,有没有想着换一拨呢? 推荐一些个人觉得比较不错的主题,可以自己选择, 所有主题可以直接在扩展商店下载,直接上主题: Gatito Theme Dark Night Owl One Monokai Syntax Pink Cat Boo t…

vscode优美的主题

如何给VS Code更换主题 Mac用户 ⌘ K 然后 ⌘ T,会显示出所有的主题列表,按上下键可修改主题,⌘ ⇧ P , 在输入框中color theme,然后回车,同样也会进入主题列表 Windows用户: Ctrl Shift P 即可进入主题列表…

【3】VSCode 主题设置推荐,自定义配色方案,修改注释高亮颜色

相关文章: 【一】tensorflow安装、常用python镜像源、tensorflow 深度学习强化学习教学 【二】tensorflow调试报错、tensorflow 深度学习强化学习教学【三】tensorboard安装、使用教学以及遇到的问题【四】超级快速pytorch安装 【1】VScode中文界面方法-------…

【vscode简单入门(四)】vscode精美UI主题推荐 (~」还你一个花里胡哨的vscode「~)

学习一个新的软件&#xff0c;只会基本的操作怎么能满足一个富有个性的程序猿本猿捏>-< 那必须得鼓捣起来呀&#xff0c;本着能自定义就绝不用默认的态度&#xff0c;我打算开始写今天这篇博客了~偶吼吼 一. 有趣的小插件 开始介绍主题之前&#xff0c;再给大家安利三个…

vscode 主题的颜色定制

颜色定制 workbench.colorCustomizations setting.json {"workbench.colorCustomizations": {"activityBar.background": "#00AA00"} }对比颜色: 对比色通常只用于高对比主题。如果设置了&#xff0c;它们会在UI元素周围添加额外的边框来增加对…