浅谈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


猜你喜欢
- Q 1: 指定 SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 好像并不能隐藏导航栏和状态栏?A: 您需要告诉系
- Android安装apk文件并适配Android 7.0详解首先在AndroidManifest.xml文件,activity同级节点注册p
- 前言身在孤岛有很多无奈,比如说程序员属于比较偏门的职业。尤其是早些年,在行业里跳过几次槽后,可能你就已经认识整个圈子的人了。然后,再跳槽很可
- 一、什么是Activity?简单的说:Activity就是布满整个窗口或者悬浮于其他窗口上的交互界面。在一个应用程序中通常由多个Activi
- Ribbon 介绍Ribbon 是 Netflix 提供的一个基于 Http 和 TCP 的客户端负载均衡工具,且已集成在 Eureka 依
- 本文实例为大家分享了Android实现简单画图画板的具体代码,供大家参考,具体内容如下效果如图:布局文件:<RelativeLayou
- 反射实例化类public class Person{ public string Name { get; set; }publi
- 本文实例讲述了DevExpress设置饼状图的Lable位置的方法。分享给大家供大家参考。具体实现方法如下:关键代码如下:/// <s
- static void Main(string[] args) &nb
- 我们知道java程序是运行在JVM中的,而JVM就是构建在内存上的虚拟机,那么内存模型JMM是做什么用的呢?我们考虑一个简单的赋值问题:in
- 主内存和工作内存Java 内存模型规定了所有的变量都存储在主内存中, 每条线程有自己的工作内存线程的工作内存中保存了被该线程使用的变量的主内
- 1,MainActivity的xml布局<?xml version="1.0" encoding="ut
- 目录一.简单数组之一维数组1.数组的声明2.数组的初始化3.访问数组元素4.数组中使用引用类型二.多维数组三.锯齿数组四.Array类1.创
- 什么是ContentType?我们知道浏览器可以处理各种各样的内容,比如:HTML、XML、JPG、Flash等等,那么浏览器是如何区分它们
- 题目一 解法/** * Definition for a binary tree node. * public class Tre
- 前言 随着Java生态愈发庞大,各种各样的新技术层出不穷,这也给大家的学习带来了很多困惑,这么多技术我该学什么,盲目的在各种新技术间
- 前言:这个语句的作用是,确保该语句执行之后,关闭每一个资源,也就是说它确保了每个资源都在生命周期结束之后被关闭,因此,比如读写文
- WPF下给ComboBox设置绑定字段时可通过如下设置:combobox.SelectedValuePath = "编号"
- DozerDozer是一种Java Bean到Java Bean的映射器,递归地将数据从一个对象复制到另一个对象,它是一个强大的,通用的,灵
- spring事务注解@Transactional与trycatch在项目中 @service层中 我们会经常在做一些增删改操作的方法上看到