6

これらのステートメントに違いはありますか

System.out.println(error);

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

3 に答える 3

8

System.outはすでにPrintStream

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

もう一度ラップするだけで、意味がないようです。

于 2013-02-06T10:11:31.593 に答える
2

基本的に違いはありません。2番目の方法は長すぎます。outは、Systemクラスのjava.io.PrintStream型の静的フィールドです。Outputstreamにキャストして、別のPrintStream参照内に再度ラップする代わりに、直接使用することができます。どちらも、基になるPrintStreamオブジェクトを同じように使用します。

于 2013-02-06T10:19:11.210 に答える
1

のコピーを作成したことを除いて、違いはありませんout

JavaDocから

アウト

public static final PrintStream out

すでにタイプPrintStreamです。

于 2013-02-06T10:11:45.020 に答える