Возможный дубликат:
intern() ведет себя по-разному в Java 6 и Java 7
На этом blog Я нашел интересные головоломки String:
--- Цитата ---
String te = "te", st = "st";
//"test".length();
String username = te + st;
username.intern();
System.out.println("String object the same is: "
+ (username == "test"));
печатает под обновлением версии 7 7.
String object the same is: true
но раскомментируйте "test".length(); line или запустить с помощью Java 6 и печатает
String object the same is: false
--- EoQ ---
Будучи честным, я не понимаю, почему результаты разные. Не могли бы вы объяснить мне, в чем причина такого поведения?