這是在寫(xiě)junit測(cè)試的時(shí)候發(fā)現(xiàn)的。
1 import java.io.ByteArrayOutputStream; 2 import java.io.PrintStream; 3 4 public class Test { 5 public static void main(String[] args) { 6 PrintStream out=System.out; 7 ByteArrayOutputStream outContent = new ByteArrayOutputStream(); 8 System.setOut(new PrintStream(outContent)); 9 System.out.println("hello");10 System.setOut(out);11 System.out.println(outContent.toString().equals("hello/n"));12 outContent.reset();13 System.setOut(new PrintStream(outContent));14 System.out.print("hello/n");15 System.setOut(out);16 System.out.println(outContent.toString().equals("hello/n"));17 } 18 }
上面這段程序輸出的結(jié)果是false true。這意味著System.out.println()與System.out.print("/n")輸出的字符還是有差別的。如果要將輸出重定向到str用于測(cè)試是否相等的話,需要注意這一點(diǎn)。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注