浅谈Java字符串比较的三种方法
作者:zuo.18 时间:2023-05-13 12:26:51
java字符串如何进行比较?
我们可以根据内容和引用来比较Java中的String。
它用于身份验证(通过 equals() 方法)、排序(通过 compareTo() 方法)、引用匹配(通过 == 运算符)等。
Java中比较String的三种方式:
通过使用 equals() 方法
通过使用 == 运算符
通过 compareTo() 方法
1.通过使用 equals() 方法
String 类的 equals() 方法比较字符串的原始内容。它比较字符串的值是否相等。String 类提供以下两种方法:
public boolean equals(Object another)将此字符串与指定对象进行比较。
public boolean equalsIgnoreCase(String another)将此字符串与另一个字符串进行比较,忽略大小写。
测试字符串比较1.java
类 测试字符串比较1{
公共静态无效 主要(字符串参数[]){
字符串 s1= "萨钦" ;
字符串 s2= "萨钦" ;
字符串 s3=新 字符串(“萨钦” );
字符串 s4= "Saurav" ;
System.out.println(s1.equals(s2)); //真的
System.out.println(s1.equals(s3)); //真的
System.out.println(s1.equals(s4)); //错误的
}
}
输出:
真的
真的
错误的
在上面的代码中,使用String类的equals()方法比较两个字符串。结果被打印为布尔值,true或false。
测试字符串比较2.java
类 测试字符串比较2{
公共静态无效 主要(字符串参数[]){
字符串 s1= "萨钦" ;
字符串 s2= "SACHIN" ;
System.out.println(s1.equals(s2)); //错误的
System.out.println(s1.equalsIgnoreCase(s2)); //真的
}
}
输出:
错误的
真的
在上面的程序中,使用了String类的方法。如果 String 对象匹配并且两个字符串大小写相同,则 equals() 方法返回true 。无论字符串大小写如何, equalsIgnoreCase()都会返回 true。
2.通过使用 == 运算符
== 运算符比较引用而不是值。
测试字符串比较3.java
类 测试字符串比较3{
公共静态无效 主要(字符串参数[]){
字符串 s1= "萨钦" ;
字符串 s2= "萨钦" ;
字符串 s3=新 字符串(“萨钦” );
System.out.println(s1==s2); //true(因为两者都引用同一个实例)
System.out.println(s1==s3); //false(因为s3是指在非池中创建的实例)
}
}
输出:
真的
错误的
3.通过使用 compareTo() 方法
String 类 compareTo() 方法按字典顺序比较值并返回一个整数值,该值描述第一个字符串是否小于、等于或大于第二个字符串。
假设 s1 和 s2 是两个 String 对象。如果:
s1 == s2:该方法返回 0。
s1 > s2:该方法返回一个正值。
s1 < s2:该方法返回一个负值。
测试字符串比较4.java
类 测试字符串比较4{
公共静态无效 主要(字符串参数[]){
字符串 s1= "萨钦" ;
字符串 s2= "萨钦" ;
字符串 s3= "拉坦" ;
System.out.println(s1.compareTo(s2)); //0
System.out.println(s1.compareTo(s3)); //1(因为s1>s3)
System.out.println(s3.compareTo(s1)); //-1(因为 s3 < s1 )
}
}
输出:
0
1
-1
来源:https://blog.csdn.net/zuochangping/article/details/126914827
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
初学者Android studio安装图文详解
![](https://img.aspxhome.com/file/2023/6/80886_0s.png)
SpringBoot整合MongoDB完整实例代码
![](https://img.aspxhome.com/file/2023/5/81335_0s.jpg)
Spring Boot学习入门之AOP处理请求详解
IDEA使用SequenceDiagram插件绘制时序图的方法
![](https://img.aspxhome.com/file/2023/4/86034_0s.png)
Spring异常捕获且回滚事务解决方案
Java多线程之Worker Thread模式
Android中解决页签手指按下从左到右滑动的bug
Android自定义控件实现简单滑动开关效果
![](https://img.aspxhome.com/file/2023/8/137848_0s.jpg)
Android Studio Menu选择菜单的建立方法
![](https://img.aspxhome.com/file/2023/4/85454_0s.png)
SpringCloud Hystrix-Dashboard仪表盘的实现
![](https://img.aspxhome.com/file/2023/3/80973_0s.png)
详解Java中的ForkJoin
![](https://img.aspxhome.com/file/2023/9/106089_0s.webp)
MyBatis 动态拼接Sql字符串的问题
SpringBoot通过JSON传递请求参数的实例详解
![](https://img.aspxhome.com/file/2023/5/128835_0s.png)
超简单的几行代码搞定Android底部导航栏功能
![](https://img.aspxhome.com/file/2023/4/137964_0s.png)
Android简单实现启动画面的方法
Java 获取两个List的交集和差集,以及应用场景操作
List转换成DataSet实现代码
Android蓝牙的开启和搜索设备功能开发实例
![](https://img.aspxhome.com/file/2023/4/123284_0s.png)
详解Android Studio 3.0的新特性与适配
![](https://img.aspxhome.com/file/2023/1/139111_0s.jpg)