Ich schrieb einen Code:JAVA Boolean Konstruktor gibt unerwartetes Ergebnis
Boolean b1 = new Boolean("programmer");
Boolean b2 = new Boolean("tester");
System.out.println(b1.equals(b2));
Er druckt true
als ouput. Warum?
Nach JAVA Dokumentation
new Boolean(String)
: Ordnet ein Boolean-Objekt den Wert darstellt, true, wenn der String-Argument nicht null ist und ist gleich, Fall zu ignorieren, auf die Zeichenkette "true".
Beide Boolesche Werte sind falsch, daher sind sie gleich und Ihre Gleichheitsüberprüfung wird als wahr ausgegeben. Nichts wirklich Unerwartetes hier. –
Lesen Sie Ihren letzten Satz sehr sorgfältig. Es gibt Ihnen den Grund. – Guy
Weil "einem booleschen Objekt, das den Wert true darstellt, ein Alloc zugeordnet wird, wenn das Zeichenfolgenargument nicht null ist und unter Berücksichtigung der Groß-/Kleinschreibung der Zeichenfolge" true "entspricht." Alles andere ist falsch. –