Я пытался понять, как работает оператор instanceof в Java, и столкнулся с очень странной проблемой.
public static void main(String[] args) {
Map m = new HashMap();
System.out.println("m instanceof Date: " + (m instanceof Date));
}
Приведенный выше оператор возвращает false, как и ожидалось. Однако,
public static void main(String[] args) {
HashMap m = new HashMap();
System.out.println("m instanceof Date: " + (m instanceof Date));
}
Это даже не компилируется. Я получаю ошибку
inconvertible types
found : java.util.HashMap
required : java.util.Date
Что я здесь упускаю? Я использую IntelliJ Idea 11.