Instanceof в Java – почему он не компилируется при сравнении несовместимых типов? ⇐ JAVA
-
Anonymous
Instanceof в Java – почему он не компилируется при сравнении несовместимых типов?
класс A { public static void main(String...args) { Целое число var = 10; if(var экземпляр символа) // Строка1 System.out.println("var — это символ"); } } Я знаю, что строка 1 не скомпилируется, поскольку компилятор обнаружил, что var не является символом.
Я не могу понять, почему компилятор выдает ошибку вместо возврата false или true.
Если компилятор возвращает false или true (т. е. рассматривает операцию instanceof как обычную проверку на основе if), то это будет намного более полезно... не так ли?
Или я упускаю что-то очевидное?
класс A { public static void main(String...args) { Целое число var = 10; if(var экземпляр символа) // Строка1 System.out.println("var — это символ"); } } Я знаю, что строка 1 не скомпилируется, поскольку компилятор обнаружил, что var не является символом.
Я не могу понять, почему компилятор выдает ошибку вместо возврата false или true.
Если компилятор возвращает false или true (т. е. рассматривает операцию instanceof как обычную проверку на основе if), то это будет намного более полезно... не так ли?
Или я упускаю что-то очевидное?
Мобильная версия