Задать вопрос
Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (1)

Наибольший вклад в теги

Все теги (7)

Лучшие ответы пользователя

Все ответы (2)
  • Где ошибка в коде Java?

    @asurkis
    Нельзя выполнять проверку с помощью оператора "==", так как он сравнивает ссылки, а не сами объекты. Правильным условием было бы
    if (myPass.equals(typepass)) { /* ... */ }

    Точнее сказать, оператор "==" сравнивает простые типы, т.е. byte, short, int, long, float, double, char, а также ссылки, а для объектов нужно применять функцию equals, определённую в классе java.lang.Object, от которого наследуются все остальные классы

    Также стоит помнить, что классы-обёртки над простыми типами не являются простыми (т.е. объекты типа Integer (а также Byte, Short, Long, Char, Float и Double) -- это именно экземпляры класса, которые надо сравнивать на равенство с помощью equals)

    Кстати, вместо new String("supermegalogic")
    можно написать "supermegalogic"
    Так как при явном вызове конструктора на самом деле создаётся 2 эквивалентных объекта, а также явный вызов немного ухудшает читаемость кода
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (6)