当前位置: 首页 > 面试题库 >

在java中如何比较字符串?

卜阳
2023-03-14
问题内容

在java中如何比较字符串,使用==还是equals


问题答案:

== 测试引用是否相等(它们是否是同一对象)。

.equals() 测试值是否相等(在逻辑上是否为“相等”)。

String.contentEquals() 将的内容String与任何内容进行比较CharSequence(从Java 1.5开始可用)。

因此,如果要测试两个字符串是否具有相同的值,则可能要使用Objects.equals()。

// 值相等
new String("test").equals("test") // --> true 

// 不是同一个对象
new String("test") == "test" // --> false 

// 不是同一个对象
new String("test") == new String("test") // --> false 

// 同一个对象
"test" == "test" // --> true 

// 同一个对象
"test" == "te" + "st" // --> true

// Objects.equals()比较内容
Objects.equals("test", new String("test")) // --> true
Objects.equals(null, "test") // --> false
Objects.equals(null, null) // --> true

我们使用Objects.equals()的时候多,很少使用==。



 类似资料:
  • 问题内容: 我有一个程序正在制作,当用户输入一种心情时,它将在此基础上输出报价。我需要告诉程序 问题是,我不知道如何使程序识别输入并基于该输出文本…这是到目前为止我所拥有的代码。 问题答案: 首先,看起来您正在处理错误的变量。我想你打算比较。 处理字符串时,请始终使用而不是。比较参考值(通常不可靠),同时比较实际值。 将您的字符串转换为全部大写或全部小写也是一个好习惯。在本示例中,我将使用小写字母

  • 问题内容: 我想检查一个char变量是否是21个特定char之一,我能做的最短方法是什么? 例如: 似乎没有用。我需要这样写吗: 问题答案: 如果您输入的是字符,并且您要检查的字符大部分是连续的,则可以尝试以下操作: 但是,如果您的输入是字符串,则更紧凑的方法(但更慢)是使用带有字符类的正则表达式: 如果您有字符,则首先需要将其转换为字符串,然后才能使用正则表达式:

  • 问题内容: 到目前为止,我一直在程序中使用运算符比较所有字符串。但是,我遇到了一个错误,将其中一个更改为错误,并修复了该错误。 是==坏?什么时候应该使用它,不应该使用它?有什么不同? 问题答案: 测试引用是否相等(它们是否是同一对象)。 测试值是否相等(在逻辑上是否为“相等”)。 在调用之前进行检查,因此您不必(在JDK7起可用,在Guava中也可用)。 因此,如果要测试两个字符串是否具有相同的

  • 问题内容: 我需要在Java字符串之间执行Diffs。我希望能够使用原始的string和diff版本重建字符串。有人用Java完成吗?你使用什么图书馆? 问题答案: 这个库似乎可以解决问题:google-diff-match-patch。它可以根据差异创建补丁字符串,并允许重新应用补丁。

  • 我有一个由DB中称为Notes的对象填充的列表。对象的数量不同。我需要比较字符串变量,如果字符串相等,执行某个操作。如何完成这一点? 到目前为止,我的代码以NullPoInterExeption结尾:

  • 主要内容:equals() 方法,equalsIgnoreCase() 方法,equals()与==的比较,compareTo() 方法字符串比较是常见的操作,包括比较相等、比较大小、比较前缀和后缀串等。 在 Java 中,比较字符串的常用方法有 3 个:equals() 方法、equalsIgnoreCase() 方法、 compareTo() 方法。下面详细介绍这 3 个方法的使用。 equals() 方法 equals() 方法将逐个地比较两个字符串的每个字符是否相同。如果两个字符串具有相