浅谈Java字符串比较的三种方法

作者:zuo.18 时间:2023-05-13 12:26:51 

java字符串如何进行比较?

我们可以根据内容和引用来比较Java中的String。

它用于身份验证(通过 equals() 方法)、排序(通过 compareTo() 方法)、引用匹配(通过 == 运算符)等。

Java中比较String的三种方式:

  1. 通过使用 equals() 方法

  2. 通过使用 == 运算符

  3. 通过 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

标签:Java,字符串,比较
0
投稿

猜你喜欢

  • 初学者Android studio安装图文详解

    2022-08-06 07:22:12
  • SpringBoot整合MongoDB完整实例代码

    2023-10-22 03:42:48
  • Spring Boot学习入门之AOP处理请求详解

    2023-11-27 10:55:17
  • IDEA使用SequenceDiagram插件绘制时序图的方法

    2023-07-03 11:20:07
  • Spring异常捕获且回滚事务解决方案

    2023-04-25 18:32:41
  • Java多线程之Worker Thread模式

    2021-06-11 12:11:51
  • Android中解决页签手指按下从左到右滑动的bug

    2021-06-04 19:22:40
  • Android自定义控件实现简单滑动开关效果

    2022-09-07 16:46:01
  • Android Studio Menu选择菜单的建立方法

    2023-07-28 03:46:31
  • SpringCloud Hystrix-Dashboard仪表盘的实现

    2023-03-16 18:38:03
  • 详解Java中的ForkJoin

    2023-05-09 15:22:20
  • MyBatis 动态拼接Sql字符串的问题

    2021-08-09 05:23:46
  • SpringBoot通过JSON传递请求参数的实例详解

    2023-11-26 22:59:24
  • 超简单的几行代码搞定Android底部导航栏功能

    2022-08-03 09:26:56
  • Android简单实现启动画面的方法

    2022-08-25 17:54:55
  • Java 获取两个List的交集和差集,以及应用场景操作

    2021-11-21 17:49:43
  • List转换成DataSet实现代码

    2023-03-02 04:46:01
  • Android蓝牙的开启和搜索设备功能开发实例

    2022-11-07 20:42:17
  • 详解Android Studio 3.0的新特性与适配

    2023-04-29 05:15:05
  • C#统计字符串的方法

    2021-06-12 17:00:12
  • asp之家 软件编程 m.aspxhome.com