Java String equals()方法

IT 文章2年前 (2023)发布 小编
0 0 0

学习如何以区分大小写的方式比较两个String对象的内容,可以使用String.equals() API。对于不区分大小写的比较,我们可以使用equalsIgnoreCase()方法。
[v_warn]永远不要使用’==’运算符来检查字符串的相等性。它验证对象引用,而不是内容,这在大多数情况下是不可取的。[/v_warn]

1.String.equals() API

Java中,String.equals()方法比较一个字符串与作为方法参数传递的对象。只有在以下情况下才返回true:

  • 参数对象是String类型。
  • 参数对象不为null。
  • 表示与当前字符串相同的字符序列。
String str1 = "alex";
String str2 = "alex";
String str3 = "alexa";
Assertions.assertTrue(str1.equals(str2));
Assertions.assertFalse(str1.equals(str3));

2. 抛出NullPointerException

equals()方法不支持null参数,并会抛出NullPointerException异常。

ad

程序员导航

优网导航旗下整合全网优质开发资源,一站式IT编程学习与工具大全网站

String str1 = "alex";
Assertions.assertThrows(NullPointerException.class, () -> {
  str1.contains(null);
});

3.仅支持区分大小写的比较

以下Java程序演示了equals()方法以区分大小写的方式进行内容比较。如果更改大小写,字符串被视为不同。

String str1 = "alex";
Assertions.assertTrue(str1.equals("alex"));
Assertions.assertFalse(str1.equals("Alex"));

4.’==’运算符和equals()方法的区别

如前所述,’==’运算符检查相同的对象引用,而不检查字符串内容。而equals()方法严格检查字符串内容。

在以下Java程序中,我们创建了两个String对象。首先,我们使用’==’运算符比较这两个对象,结果为false,因为它们在内存中是不同的对象。

然后,我们使用equals()方法检查字符串的内容,它返回true,因为虽然对象不同,但它们的内容相同。

ad

AI 工具导航

优网导航旗下AI工具导航,精选全球千款优质 AI 工具集

String strObj1 = new String("test");
String strObj2 = new String("test");
Assertions.assertFalse(strObj1 == strObj2);
Assertions.assertTrue(strObj2.equals(strObj2));

为了更深入地理解’==’运算符和equals()方法的区别,请参考Java中 == 和 equals 的区别这篇文章。

© 版权声明

相关文章

暂无评论

暂无评论...