我知道==比较两个时会有一些问题Strings。这似乎String.equals()是一个更好的方法。好吧,我正在做 JUnit 测试,我倾向于使用assertEquals(str1, str2). 这是断言两个字符串包含相同内容的可靠方法吗?我会使用assertTrue(str1.equals(str2)),但是您不会从失败时看到预期值和实际值的好处。
==
Strings
String.equals()
assertEquals(str1, str2)
assertTrue(str1.equals(str2))
在相关说明中,是否有人有指向页面或线程的链接,可以清楚地解释问题str1 == str2?
str1 == str2
在 Java 中进行比较时应 始终 使用。.equals()``Strings
.equals()``Strings
JUnit 调用.equals()方法来确定方法中的相等性assertEquals(Object o1, Object o2)。
.equals()
assertEquals(Object o1, Object o2)
因此,您绝对可以安全使用assertEquals(string1, string2). (因为Strings 是Objects)
assertEquals(string1, string2)
String
Object
==这是一个关于和之间的一些差异的 问题的链接.equals()。