龙空技术网

Java比较字符串是否相等用equals()和 equalsIgnoreCase()方法。

腾峰说故事 46

前言:

现在小伙伴们对“java如何判断两个字符串是否一样”大体比较关心,看官们都需要知道一些“java如何判断两个字符串是否一样”的相关内容。那么小编同时在网上汇集了一些对于“java如何判断两个字符串是否一样””的相关知识,希望姐妹们能喜欢,姐妹们一起来了解一下吧!

比较字符串是否相等

对字符串对象进行比较不能简单地使用比较运算符“==”,因为比较运算符比较的是两个字符串的内存地址是否相同。因为即使两个字符串的文本值相同, 两个对象的内存地址也可能不同,所以使用比较运算符会返回false。

使用比较运算符比较两个字符串。

public class StringCompare {

public static void main(String[] args) {

String tom, jerry;

// 直接引入字符串常量

tom= "I am a student";

jerry = "I am a student";

System. out. println("直接引入字符串常量的比较结果:`+(tom==jerry));

// 使用new创建新对象

tom= new String("I am a student");

jerry = new String("I am a student");

System. out. println("使用new创建对象的比较结果:"+(tom=jerxy));

}

直接引入字符串常量的比较结果: true

使用new创建对象的比较结果: false

tom和 jerry直接用字符串常量赋值时,其字符串值保存的是固定地址中数据的引用,两个对象指向的是同一个常量,用“=”比较,结果会返回true。

如果 tom和 jerry用new创建了新对象, 各自会在堆中创建一个新的 String 对象,即使与栈中已有相同数据, 用“==”比较发现两者指向不同的对象地址, 结果会返回 false。

想要比较两个字符串对象的内容是否相同, 就需要用equals()和 equalsIgnoreCase()方法。

1. equals(String str);

将此字符串与指定的对象比较。当且仅当该参数不为 null, 并且是与此对象表示相同字符序列的 String 对象时, 结果才为 true。

a. equals(str);

a: 任意字符串。

str: 进行比较的字符串。 Java 中,可以使用 equals 方法来比较两个字符串的内容是否相等,而不考虑忽略不同对象的不同地址比较,区分大小写。

public class Main {

public static void main(String[] args) {

String str1 = "Hello";

String str2 = "hello";

String str3 = "World";

// 使用 equals 方法比较字符串内容

boolean isEqual1 = str1.equals(str2);∥false

boolean isEqual2 = str1.equals(str3);∥false

System.out.println(isEqual1);

System.out.println(isEqual2);

}

}

equals 方法比较的是字符串的内容是否相等,而不是字符串对象的引用(地址)是否相等。另外,由于 equals 方法是 Object 类的方法,所以对于所有对象类型都适用,可以用来比较对象的内容是否相等。

2. equalsIgnoreCase(String anotherString);

将此字符串对象与指定的对象比较, 不考虑大小写。如果两个字符串的长度相同, 并且其中相应的字符都相等(忽略大小写), 则认为这两个字符串是相等的。

a. equalsIgnoreCase(anotherString);

a: 任意字符串。

anotherString: 进行比较的字符串。

使用 equalsIgnoreCase()方法判断两个字符串是否相等。

public class StringEqualsIgnoreCase {

public static void main(String[] args) {

String str1 = "abc45678";// 创建字符串对象, 内容全部小写

String str2 = "ABC45678";// 创建字符串对象, 内容大写

// 比较两个字符串的内容是否相等, 不区分大小写

System. out. println("不区分大小写的结果: "+strl. equalsIgnoreCase(str2));

不区分大小写的结果: true

大小写转化包含判断

标签: #java如何判断两个字符串是否一样 #java怎么判断两个字符相同 #java中如何判断两个字符串是否相等 #java判断两个字符串相等的函数 #java 比较两个字符串是否一样的字母