Java 断言Junit输出不起作用

Java 断言Junit输出不起作用,java,junit,Java,Junit,我有一个方法(par.getstatus),它输出一条与以下内容完全相同的消息: 3::0::P:3::C:2::S:1::M:1::D:0::A:0::Q:0null 问题是当我写: String s = par.getStatus(3); assertTrue(s == "3::0::P:3::C:2::S:1::M:1::D:0::A:0::Q:0null"); 它不会返回真值。我知道字符串是正确的,因为我将它打印到控制台,然后直接复制和粘贴它,并多次检查是否正确。为了检

我有一个方法(par.getstatus),它输出一条与以下内容完全相同的消息: 3::0::P:3::C:2::S:1::M:1::D:0::A:0::Q:0null

问题是当我写:

    String s = par.getStatus(3);
    assertTrue(s == "3::0::P:3::C:2::S:1::M:1::D:0::A:0::Q:0null");
它不会返回真值。我知道字符串是正确的,因为我将它打印到控制台,然后直接复制和粘贴它,并多次检查是否正确。为了检查我使用的assertTrue方法是否错误,我写道:

    String d = "rr";
            assertTrue(s == "rr");
这是真的

有人说它可能是空的,这是造成问题的原因,所以我删除了,但仍然没有运气。有人知道这里可能有什么问题吗?谢谢

s == "3::0::P:3::C:2::S:1::M:1::D:0::A:0::Q:0null"
=
比较两个字符串的引用,这两个字符串不是同一个对象

使用
String.equals()
比较两个字符串的内容:Have look


请在上搜索答案,以便。。。在java中,永远不应该使用==比较运算符来比较字符串(或者实际上是大多数对象)。使用
aString.compareTo(其他字符串)
aString.equals(其他字符串)
。谢谢我搜索了,但错过了另一个线程,下次会更难查看。谢谢你的帮助。
assertTrue(s.equals("3::0::P:3::C:2::S:1::M:1::D:0::A:0::Q:0null"));