==
到目前为止,我一直在我的程序中使用运算符来比较我的所有字符串.但是,我遇到了一个错误,将其中一个更改为了.equals()
,并修复了该错误.
是==
坏?什么时候应该不应该使用它?有什么不同?
所以我查了这个问题并尝试过,但没有成功。
我的代码应该测试该方法是否通过使用Streams
.
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
PrintStream myStream = new PrintStream(outStream);
System.setOut(myStream);
o.doSomething(); //printing out Hi
System.out.flush();
System.setOut(savedOldStream);//setting it back to System.out
assertEquals(outStream.toString(),"Hi");
Run Code Online (Sandbox Code Playgroud)
但是每次我运行 JUnit 时它都会失败。我也试过:assertTrue(outStream.toString().equals("Hi"));
但这也不起作用。
这是 doSomething() 方法:
public void doSomething () {
System.out.println("Hi");
}
Run Code Online (Sandbox Code Playgroud)