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

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

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

nulll大小写敏感

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

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

固然在现实工做中,现有市面上的流行编译器通常会有报错提示。工具

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

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

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

null 是一种有特殊的值

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

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

可是注意,并不能赋值给基本数据类型的变量,由于持有 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 操做符一个很重要的特性,使得对类型强制转换检查颇有用。string

静态变量为 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。

相关文章
相关标签/搜索