Сравнение строк 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.