美文网首页
java解惑50--类型

java解惑50--类型

作者: 猴猴猪027 | 来源:发表于2017-06-30 17:59 被阅读0次

理论

  1. instanceof 左侧和右侧应该有父子关系,如果没有,编译不通过;
  2. 理论上null是任何引用类型的实例,但是null instanceof 引用类型,结果是false,这样做是为了避免在返回true后,对null进行转型,调用方法抛出NullPointerException
  3. 在返回结果前加上括号,括号内放转型的类型,要求目标类和源类具有父子关系,不管是否具有转型的可能,只要满足父子关系编译就能通过

案例

public class Type1 {
    public static void main(String[] args){
        String s=null;
        System.out.println(s instanceof String);
    }
}

这里的返回结果为false

public class Type2 {
    public static void main(String[] args){
        Type2 t2=(Type2) new Object();
    }
}

编译通过,运行期间抛出异常

java.lang.ClassCastException: java.lang.Object cannot be cast to com.carease.type.Type2
    at com.carease.type.Type2.main(Type2.java:8)

public class Type3{
    public static void main(String[] args){
        System.out.println(new Type3() instanceof String);
    } 
}

编译不通过,inconvertable types

相关文章

  • java解惑50--类型

    理论 instanceof 左侧和右侧应该有父子关系,如果没有,编译不通过; 理论上null是任何引用类型的实例,...

  • 龙城游学小记

    上午 5:50--青岛集合 6:10--出发前往诸城 7:50--抵达达诸城 沟通当地同学,确定酒店预定情况;组织...

  • Java----数据类型解惑

    最近的一次web作业充斥着数据的转换、进制的转换、位运算等,剪不断理还乱,最后绕到我没能完成任务,这算是吃了jav...

  • 解惑Java注解类型(待更新)

    java注解是在JDK5时引入的新特性,鉴于目前大部分框架(如Spring)都使用了注解简化代码并提高编码的效率,...

  • Java学习资料汇总全

    《JAVA解惑[JAVA PUZZLERS]》 《Java虚拟机规范(Java_SE_7)》 Java语言规范:基...

  • Java 中的类型传递问题解惑

    我之前一直犯了一个错误,认为 Java 中是有引用传递的,其实不然,写这篇文章一方面是纠正自己的理解,另一个是希望...

  • hibernate的加载流程

    java类型 java类型效率高: hibernate类型

  • Java集合解惑

    本文取自工匠若水的qq群里的Java基础题目,把里面有关Java集合放在一起。全文github地址 35.Arra...

  • Java解惑48

    看代码 最后的打印结果是woof woof 解释 如果方法不是静态的,子类中进行重写,预示着要根据进行动态的分派;...

  • Java解惑46

    理论 Java在调用同名函数时,如果实参满足多个同名函数的不同形参。那么最为精确的一个方法会被调用。例如test(...

网友评论

      本文标题:java解惑50--类型

      本文链接:https://www.haomeiwen.com/subject/dpsicxtx.html