我知道 ==
在比较两个 Strings
时会出现一些问题。似乎 String.equals()
是一种更好的方法。好吧,我正在做 JUnit 测试,我倾向于使用 assertEquals(str1, str2)
。这是断言两个字符串包含相同内容的可靠方法吗?我会使用 assertTrue(str1.equals(str2))
,但这样您就不会看到失败时的预期值和实际值是什么。
在相关说明中,是否有人提供指向明确解释 str1 == str2
问题的页面或线程的链接?
最佳答案
在比较 Java 中的 Strings
时,您应该始终使用 .equals()
。
JUnit 调用 .equals()
方法来确定方法 assertEquals(Object o1, Object o2)
中的相等性。
所以,使用 assertEquals(string1, string2)
绝对是安全的。 (因为 String
s 是 Object
s)
Here is a link to a great Stackoverflow question关于 ==
和 .equals()
之间的一些区别。
关于java - Java 的 assertEquals 方法可靠吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1201927/