• Java--- 关于null的处理若干方法


    Java--- 关于null的处理若干方法

    相信空指针是平时最常见的错误了,下面认识 null ,有助于解决 NPE 问题。

    nulll大小写敏感

    关于这个问题,其实是对面试时候手写算法题时候需要注意的问题。

    null 它是 Java的关键字,它是大小写敏感的,不能写成 NULL,Null等等。

    当然在现实工作中,现有市面上的流行编译器一般会有报错提示。

    null 是任何引用类型的初始值

    这里需要注意是引用类型,基本数据类型的,int 默认初始值是 0;boolean 默认初始值是 false 等。

    也就是说 Object 类型的默认初始值都是 null 。

    null 是一种有特殊的值

    null 既不是对象也不是数据类型,他只是一种特殊的值。

    可以将它复制给任何引用类型的变量,这时并不会抛出空指针异常。

    但是注意,并不能赋值给基本数据类型的变量,因为持有 null 的包装类在进行自动拆箱的时候,不能完成转换,会抛出空指针异常。null 同时也不能和基本数据类型作比较。

     public static void main(String[] args) {
            Integer isNull = null;
            // instanceof = isInstance 方法
            if(isNull instanceof Integer){
                System.out.println("isNull is instanceof Integer");
            }else{
                System.out.println("isNull is not instanceof Integer");
            }
        }
    

    这是 instanceof 操作符一个很重要的特性,使得对类型强制转换检查很有用。

    静态变量为 null 调用静态方法不会抛出 NullPointerException。因为静态方法使用了静态绑定。

    使用 Null-Safe 方法

    所谓使用 Null-Safe 方法,其实就是多使用工具类提供的的静态方法。以此来避免 NullPointerException。

    private static  String numbers;
    
        public static void main(String[] args) {
            String string = String.valueOf(numbers);   //编译通过
            String s = numbers.toString();   //java.lang.NullPointerException
        }
    

    null 的判断

    你可以使用 == 或者!=操作来比较 null 值,但是不能使用其他算法或者逻辑操作,例如小于或者大于。跟SQL不一样,在Java中null == null 将返回true。

  • 相关阅读:
    javascript 将中文符号转换成英文符号
    js 函数定义的2种方式
    javascript 面向对象编程(工厂模式、构造函数模式、原型模式)
    10.2.0.4 to 10.2.0.5 Installation of Patch Set Release (Windows)
    流接口驱动程序的工作原理和开发步骤嵌入式
    android开发面试题
    ORACLE-014:oracle中查看DBLinkpassword
    Java相关知识(一)
    Android 中模仿 Twitter 实现 Toolbar Indicator
    使用excel进行数据挖掘(3)----类别检測
  • 原文地址:https://www.cnblogs.com/l1ng14/p/13562727.html
Copyright © 2020-2023  润新知