Как выполняется блок equals в следующем коде :
class Basic { String s1="String1"; String s2="String1"; String s3=new String("String3"); String s4=new String(); String s5=new String(); float function1() { System.out.println(s4==s5); System.out.println(s4.equals(s5)); return 1; } public static void main(String args[]) { Basic b2= new Basic(); b2.function1(); } }
Что я уже пробовал:
Выход :
ложный
истинный
Мой вопрос заключается в том , что при выполнении сравнения методами equals сравнивается ли нулевое значение строкового объекта или происходит что-то еще, я не понимаю, почему он возвращает true ?