这些陈述有什么不同吗
System.out.println(error);
和
PrintStream ps = new PrintStream((OutputStream)System.out);
ps.println(error);
这些陈述有什么不同吗
System.out.println(error);
和
PrintStream ps = new PrintStream((OutputStream)System.out);
ps.println(error);
System.out
已经是一个PrintStream
,
PrintStream ps = new PrintStream((OutputStream)(System.out));
只会再次包装它,这似乎毫无意义。
基本上没有区别。第二种方式太长了。out 是 System 类中 java.io.PrintStream 类型的静态字段。您可以直接使用它,而不是将其转换为 Outputstream 并再次将其包装在另一个 PrintStream 引用中。无论如何,它们都将使用相同的底层 PrintStream 对象。