Оператор instanceof в Java для сравнения различных классов

Я пытался понять, как работает оператор instanceof в Java, и столкнулся с очень странной проблемой.

public static void main(String[] args) {
    Map m = new HashMap();
    System.out.println("m instanceof Date: " + (m instanceof Date));
}

Выше возвращается ложь, как и ожидалось. Тем не мение,

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.

Ответы на вопрос(4)

Ваш ответ на вопрос