java中的null类型相关知识

一 、前言:

java有两种类型,一种是基本类型,一种是引用类型,一般的,业内人士都将null类型忽略,认为null仅仅是一个可以称为任意引用类型的特殊符号;

二、 java中关于null的知识:

1、null是java中的关键字,像public 、static、final 一样区别大小写,不能写成NULL;

2、null是所有引用类型的默认值,包括object类型;

3、null既不是对象也不是一种类型,你可以将其赋予任何引用类型,也可以将null转化成任意类型;

在这里插入图片描述

4、null可以赋值给引用变量,不能赋值给八大基本类型(byte,short,int,long,float,double,char, boolean);

5、任何含有null值的包装类在java拆箱生成基本数据类型时会抛出空指针异常;

在这里插入图片描述

6、如果使用了带有null的的引用类型变量。instanceof操作会返回false;

在这里插入图片描述

拓展:
instanceof用法

7、可以使用静态方法来使用一个值为null的引用类型变量,因为静态方法使用静态类型绑定,不会抛出空指针异常;

在这里插入图片描述

8、可以将null传递给方法使用,这时方法可以接收任何引用类型,如 public void print(Object obj) 可以这样调用print(null).编译可以通过,但结果就取决去你的方法了。这个例子中的print方法,不会抛出空指针异常,只是退出,业务逻辑允许的话,推荐使用null安全的方法

    public static String method1(String str){
    
    
        return str;
    }
	public static void main(String[] args) {
    
    
		 //调用method1方法
        System.out.println(method1(null));//打印null
       
	}
	

9、 可以使用== 或者 != 操作来比较null值,但是不能使用其他算法或者逻辑操作,如大于、小于。与SQL不同,java中的null==null会返回true;

        String a=null;
        String b=null;
        System.out.println(a==b);  //true
        System.out.println(null!=null);//false

记住上面关于null的知识,可以有效避免你的代码出现空指针 (NullPointerException) 异常;



参考

おすすめ

転載: blog.csdn.net/qq_43521500/article/details/120771983