Witam, wiem, że do porównywania obiektów powinno używać się equals, dlatego zastanawia mnie jedna instrukcja
System.out.println("b2 == b2 == b1 WYNIK: " + (b2 == b2 == b1));
gdzie
b1= new Boolean("true"); b2=new Boolean("true");
Wynikiem jest:
b2 == b2 == b1 WYNIK: true
Wychodzi na to, że w tym przypadku prawidłowo porównuje obiekty. Nie powinno porównywać referencji do obiektów tak jak jest to w tym przypadku?
Wynik:
System.out.println("b1 == b2 WYNIK: "+(b1 == b2));
b1 == b2 WYNIK: false