.equals()
сравнивает данные в классе (при условии, что функция реализована). ==
сравнивает местоположения указателя (расположение объекта в памяти).
==
возвращает true, если оба объекта (NOT TALKING OF PRIMITIVES) указывают на экземпляр SAME. .equals()
возвращает true, если два объекта содержат одни и те же данные equals()
Versus ==
в Java
Это может вам помочь.
Да. Для вашей реализации KeyListener ...
Метод keyPressed
вызывается при нажатии клавиши, а метод keyReleased
вызывается при отпускании клавиши, и это работает практически для любой клавиши (включая CTRL или CMD; обычно такие клавиши, как «fn» на Ноутбуки не могут быть обнаружены, но это все).
Метод keyTyped
не следует использовать, если вы хотите этот уровень тонкой настройки; keyTyped запускается при нажатии и отпускании клавиши, а также будет повторяться, если удерживать клавишу в зависимости от ОС. Так что не используйте это.