Является ли Java примером для идентичного сравнения? ===

Java - это сильное статическое литье, поэтому это означает, что для "==="

Я просмотрел тонны документации и не видел Идентичного оператора сравнения.

Ответы

Ответ 1

=== полезно в слабых типизированных языках, таких как Javascript, потому что он проверяет, что сравниваемые объекты одного типа и избегают неявных преобразований.

=== абсолютно не используется в строго типизированном языке, таком как Java, потому что вы не можете сравнивать переменные разных типов без написания конкретного метода для этого.


Например, если вы хотите сравнить int с String в Java, вам нужно будет написать специальный метод как таковой:

boolean compareIntString(int i, String s) {
    return (i == parseInt(s));
}

Но это в значительной степени перебор. (И как вы заметите, как написано, этот метод принимает только int и String. Он не принимает только любые две переменные. Вы знаете, прежде чем назвать это, что типы данных разные.)

Главное, что, хотя вы можете делать i == s в Javascript, вы не можете делать i == s на Java, поэтому вам не нужно ===.


Я думаю, короткий ответ заключается в том, что Java == является Javascript ===. Если вы хотите эмулировать Javascript == и сравнить два элемента, игнорируя тип данных, вам придется написать собственный метод, который принимает общие типы данных в качестве аргументов... и выяснить логику сравнения, как минимум, всех возможные комбинации примитивных типов данных Java...

Ответ 3

Мы можем объяснить == и === с примером ниже:

int a = 1;
float b =1;

// (a == b) returns true

тем не мение

// (a === b) returns false

Все это потому, что === сравнивает и значение переменной, и тип, а == сравнивает только значение переменной.

Это.