zoukankan      html  css  js  c++  java
  • Java中instanceof注意的地方

    • instanceof只能用于对象的判断,不能用于基本类型的判断,以下代码会编译不通过
    'A' instanceof Character
    
    • instanceof特有的规则:若左操作数是null,结果就直接返回false,不再运算右操作数是什么类
    null instanceof String
    
    • instanceof操作符的左右操作数必须有继承或实现关系,否则编译会失败,以下代码编译不通过
    new Data() instanceof String
    
    • 注意泛型的情况
        class GenericClass<T>{
            public boolean isDataInstance(T t){
                return t instanceof Date;
            }
        }
    
        boolean a = new GenericClass<String>().isDataInstance("test");//false
        //T是个String类型,与Date之间没有继承或实现关系,为什么''t instanceof Date''会编译通过呢?那是因为Java的泛型是为编码服务的,在编译成字节码时,T已经是Object类型了,传递的实参是String类型,也就是说T的表面类型是Object,实际类型是String,那''t instanceof Date''这句话就等价于''Object instance ofDate''了,所以返回false就很正常了
    
    
  • 相关阅读:
    本月周六周日LIST集合
    c#动态调用WEBSERVICE接口
    c#调用
    web上传下载文件
    MVC 的知识
    MongoDB 无法创建抽象类的问题,
    并行活动
    C# 字符串计算表达式
    c# 将字符串转换为逻辑表达式(字符串转换布尔)
    C# 中间语言、CLR、CTS、CLS
  • 原文地址:https://www.cnblogs.com/darange/p/12145986.html
Copyright © 2011-2022 走看看