Ich sah in der Quelle der Boolean-Klasse der folgenden:Boolean.FALSE oder neu Boolean (false)?
public static final Boolean FALSE = new Boolean(false);
Daher, wenn ich das richtig das Feld FALSE
in der Boolean
Klasse verstehe, bin ein Boolean
selbst, das sein boolean
Feld false
gesetzt hat.
Jetzt frage ich mich, ob die folgenden zwei Aussagen wirklich gleichwertig sind.
Boolean myBool = new Boolean(false);
und
Boolean myBool = Boolean.FALSE;
Ich werde, dass ein neues im ersten Fall davon ausgehen, Boolean-Objekt aufgebaut ist, und die myBool Referenzpunkte, um es, während im zweiten Fall, dass wir tatsächlich eine Kopie der Referenz machen auf das Boolean.FALSE-Objekt - ist das korrekt?
Und wenn ja, was macht diesen Unterschied wirklich bedeuten?
Last but not least die aktuelle Frage: Welche der beiden Optionen sollte ich bevorzugen und warum?
Sie sollten 'Boolean.FALSE' verwenden. Dies entspricht den zukünftigen Updates, die JDK möglicherweise hat. –
Und auch 'Boolean.valueOf()' ist im Allgemeinen zu 'new Boolean()' vorzuziehen. – Keppil
Weder.Verwenden Sie 'false' und lassen Sie den Compiler es über Autoboxing aussortieren. – EJP