Поскольку char
является примитивным типом и не реализует equals
, ==
сравнивает значения char
непосредственно в этом случае. где String
является объектом, поэтому для сравнения объектов оператор равенства применяется к ссылкам на объекты, а не к объектам, на которые они указывают. Две ссылки равны, если и только если они указывают на один и тот же объект или обе указывают на ноль.
Если вы хотите сравнить строки (чтобы увидеть, содержат ли они одинаковые символы), вам нужно сравнить строки, используя равно.
Следовательно, оператор ==
проверяет равенство значений на примитивных типах,. но он проверяет равенство ссылок для объектов. если на два объекта ссылаются одинаковые ссылки. ссылка и объект разные в Java.