V obou případech platí a == b, protože pokud je String vytvořen z literálu, je na něj automaticky voláno intern. Viz javadoc:
"All literal strings and string-valued constant expressions are interned."
"All literal strings and string-valued constant expressions are interned."
Nemelo to byt spis takhle?
String a = "ahoj";
String b = "ahoj";
if (a != b) System.out.println("a different from b"); //mohlo by se vypsat
a = a.intern();
b = b.intern();
if (a == b) System.out.println("a same as b"); //musí se vypsat
Filip Jirsák
