Объекты классов должны создаваться явно. В представленном вопросе, обьекты создаются неявно: String str1 = "Zero"; String str2 = "Zero"; приводит к присвоению второй ссылочной переменной, адреса, сохраненного в первой ссылочной переменной, из-за оптимизации кода компилятором. При вышеприведенном способе инициализации переменной, объект создается только один раз. Если есть другая переменная, с тем же способом присвоения и таким же набором символов(т.е. - "Zero"), строка будет использоваться совместно. А это значит, что str1==str2 = true(ссылка на одну и ту же область памяти). Однако, равенство обьектов подобным образом обычно не проверется. Содержимое объектов обычно проверяется с помощью метода equals()(например, str1.equals(str2)), который с этой целью переопределяется.
Войдите чтобы поставить Нравится
Войдите чтобы прокомментировать