2

JAVA:两个引用“p”&&“pp”之间有区别吗?

    PrintStream p = new PrintStream(System.out);
    p.println("lol");

    PrintStream pp = System.out;
    pp.println("lol");

我只想缩短 System.out.println(); 一些原型的声明。干杯!马特

4

3 回答 3

3

没有功能上的区别,尽管第一个创建了一个您不需要的新对象,因此效率略低。

于 2012-07-05T11:00:32.337 回答
3

不,两者之间没有行为差异。

System.out已经是 a PrintStream,并且 anew PrintStream(otherPrintStream)只是创建了一个包装器对象,它只委托给给定的PrintStream.


正如@MarkoTopolnik 建议的那样,您甚至可以这样做

import static java.lang.System.out;

然后做

out.println("lol");

如果你想保持简短。

于 2012-07-05T11:02:35.707 回答
1

没有不同。

这两种说法的效果是一样的。略有不同的是,我们在第一个语句中创建了 PrintStream 类的新对象,这是不必要的。

于 2012-07-05T11:04:35.113 回答