java - Java 的 assertEquals 方法可靠吗?

标签 java string junit junit4

我知道 == 在比较两个 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) 绝对是安全的。 (因为 Strings 是 Objects)

Here is a link to a great Stackoverflow question关于 ==.equals() 之间的一些区别。

关于java - Java 的 assertEquals 方法可靠吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1201927/

相关文章:

java - 如何一次销毁运行时中的所有进程?

java - 从web逻辑服务器迁移到tomcat服务器时MessageDispatcher为NULL

Java ProcessBuilder 忽略空格

java - 在 Java 中从给定的字母表生成所有长度为 N 的单词

java - 手动在谷歌地图上拖放图钉并在谷歌地图 APIV2 中获取经度和纬度

python - 将句子的字符串表示形式列表转换为词汇集

c++ - 函数调用无法正常工作

java - 如何读取 -Dserver.ref VM 参数

java - TestNG:Eclipse 被 JUnit 搞糊涂了

java - 执行动态创建的 JUnit 测试时出错