instanceof operator in java for comparing different classes

前端 未结 4 1313
刺人心
刺人心 2020-12-11 02:57

I was trying to see how instanceof operator in Java works and am facing a very odd issue.

public static void main(String[] args) {
    Map m = new HashMap();         


        
4条回答
  •  独厮守ぢ
    2020-12-11 03:39

    From the Java Language Specification 3.0, section 15.20.2:

    If a cast of the RelationalExpression to the ReferenceType would be rejected as a compile-time error, then the instanceof relational expression likewise produces a compile-time error. In such a situation, the result of the instanceof expression could never be true.

    Since you can't compile a cast from a HashMap to a Date, you can't compile an instanceof test between the two either.

提交回复
热议问题