Java - это сильное статическое литье, поэтому это означает, что для "==="
Я просмотрел тонны документации и не видел Идентичного оператора сравнения.
Java - это сильное статическое литье, поэтому это означает, что для "==="
Я просмотрел тонны документации и не видел Идентичного оператора сравнения.
=== полезно в слабых типизированных языках, таких как 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...
В java нет оператора ===. Причина довольно хорошо объясняется nhgrif. Вот список операторов в java и их приоритет:

Источник: http://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html
Мы можем объяснить == и === с примером ниже:
int a = 1;
float b =1;
// (a == b) returns true
тем не мение
// (a === b) returns false
Все это потому, что === сравнивает и значение переменной, и тип, а == сравнивает только значение переменной.
Это.