一、前言

我们在平时的开发中经常会遇到null,比如是java对象没有正确的创建就会返回null,或者在使用过程中方法没有正确的返回java对象也会产生null。我们应该在开发中正确的认识null和有效的避免出现null。

二、代码示例

1.大小写敏感

null是Java的关键字,是区分大小写的,如果我们写成Null,会编译错误。

package com.example.springbootdemo.test;

public class NullTest {
    public static void main(String[] args) {
        Object a = null;
        Object b = Null;
        
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

运行程序:

Java中关键字null的认识和学习_java

2.null是所有引用类型的初始值

package com.example.springbootdemo.test;

public class NullTest {
    static String a;
    static Integer b;

    public static void main(String[] args) {
        System.out.println(a);
        System.out.println(b);

    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.

运行程序:

Java中关键字null的认识和学习_null_02

3.null是一种特殊的值

null既不是对象也不是类型,它只是一种特殊的值,你可以将null转换成任何引用类型。

package com.example.springbootdemo.test;

public class NullTest {

    public static void main(String[] args) {
        Integer data = (Integer) null;

        System.out.println(data);

    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

运行程序:

Java中关键字null的认识和学习_null_03

4.Null-Safe方法

我们平时开发尽可能的多使用工具类自带的静态方法,解决null引起的异常。

package com.example.springbootdemo.test;

public class NullTest {

    public static void main(String[] args) {
        String data = null;
        String result = String.valueOf(data);
        //输出字符串null
        System.out.println(result);

        //报错
        System.out.println(data.toString());

    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.

运行程序:

Java中关键字null的认识和学习_null_04

5.null的判断

我们可以使用==或!=来比较null值。

package com.example.springbootdemo.test;

public class NullTest {

    public static void main(String[] args) {
        String num1 = null;
        String num2 = null;
        System.out.println(num1 == num2);
        System.out.println(num1 != num2);

    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.

运行程序:

Java中关键字null的认识和学习_java_05