2 Stimmen

JAVA: bezüglich System.out

JAVA: Gibt es einen Unterschied zwischen den beiden Referenzen "p" && "pp"?

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

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

Ich würde den System.out.println(); -Anweisung einfach für einige Prototypen kürzen. Prost! matt

3voto

Jules Punkte 14025

Es besteht kein funktionaler Unterschied, obwohl der erste einen neuen Objekt erstellt, den Sie nicht benötigen und daher etwas weniger effizient ist.

3voto

aioobe Punkte 397211

Nein, es gibt keinen Verhaltensunterschied zwischen den beiden.

System.out ist bereits ein PrintStream, und ein new PrintStream(otherPrintStream) erstellt einfach ein Wrapper-Objekt, das nur an den angegebenen PrintStream delegiert.


Wie @MarkoTopolnik vorschlägt, kannst du sogar folgendes tun

import static java.lang.System.out;

und einfach

out.println("lol");

machen, wenn du es kurz halten willst.

1voto

Pramod Kumar Punkte 7791

Kein Unterschied.

Beide Aussagen werden das Gleiche bewirken. Der einzige Unterschied besteht darin, dass wir im ersten Satz unnötigerweise ein neues Objekt der PrintStream-Klasse erstellen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X