Why does `instanceof` error rather than return `false` when used for 2 incompatible classes?

前端 未结 4 1406
迷失自我
迷失自我 2020-12-11 17:58

I\'m reading this:
http://java.sun.com/docs/books/jls/third_edition/html/expressions.html#15.20.2

They say:

Consider the example program

4条回答
  •  無奈伤痛
    2020-12-11 18:13

    Because of the inheritance tree. if A inherited from B then you can write A instance of B

    Integer i = 3;
    
    System.out.println(i instanceof String); // compile time error
    
    System.out.println(i instanceof Number); // true
    
    System.out.println(i instanceof Object); // true
    

提交回复
热议问题