System.out和Printstream的区别

6
这些语句有什么不同?
System.out.println(error);

AND

PrintStream ps = new PrintStream((OutputStream)System.out);
ps.println(error);

不确定为什么这被标记为下降,因为它似乎是一个合理的问题。 - matt freake
3个回答

9

System.out 已经是一个 PrintStream 对象了。

PrintStream ps = new PrintStream((OutputStream)(System.out));

只需再包装一次似乎没有意义。

2

基本上没有区别。第二种方法太冗长了。out是System类中类型为java.io.PrintStream的静态字段。您可以直接使用它,而不是将其强制转换为Outputstream,然后再将其包装在另一个PrintStream引用中。无论如何,它们都将使用相同的底层PrintStream对象。


1
除了你复制了 out 之外,没有任何区别。
来自 JavaDoc

out

public static final PrintStream out

它已经是类型为 PrintStream 的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接