我有一个方法(par.getstatus),它输出一条看起来像这样的消息: 3 :: 0 :: P:3 :: C:2个:: S:1 :: M:1 :: d:0 :: A:0 ::问:0null
问题出在我写的时候: String s = par.getStatus(3);
assertTrue(s == "3::0::P:3::C:2::S:1::M:1::D:0::A:0::Q:0null");
它不会返回true。我知道字符串是正确的,因为我将它打印到控制台,并直接复制并粘贴,检查我做了多次。为了检查它不是我使用的assertTrue方法是错误的,我写道:
String d = "rr";
assertTrue(s == "rr");
返回true。
有人说它可能是null导致问题,所以我删除了,但仍然没有运气。有谁知道这里的问题是什么?感谢
答案 0 :(得分:0)
s == "3::0::P:3::C:2::S:1::M:1::D:0::A:0::Q:0null"
==
比较两个字符串的引用,这两个字符串不是同一个Object。
使用String.equals()
比较两个字符串的内容:查看this question。
assertTrue(s.equals("3::0::P:3::C:2::S:1::M:1::D:0::A:0::Q:0null"));