Сравнение строк Java через двойное равенство

Почему следующий код возвращает false ?

String s = new String("OK");
System.out.println("OK"==s);

На первой строке мы уже создали объект ОК. Далее, насколько я понимаю, компилятор должен проверить в String pool существование объекта OK. Если он есть, то новый объект не создаётся и ссылки указывают на один и тот же ОК. Из-за вывода в консоль литерала типа String я не очень понимаю каким образом он создаётся. Читать как System.out.println(new String("OK")==s); ? Equals, конечно, возвращает true.


Ответы (0 шт):