null和空字符串的区别

如题所述

第1个回答  2022-06-09
java语言中有两种类型,一种是基本类型,还有一种是引用类型。还有一个特殊的null类型即表达式null的类型,它没有名字。

因为null类型没有名字,所以不可能声明为null类型的变量或者转换为null类型。

null引用是null类型表达式唯一可能的值。

null引用可以转换为任意引用类型。

实际上,程序员可以忽略null类型,可以认为null仅仅是一个可以称为任何引用类型的特殊符号。

一个null类型(null(空)引用是这种类型的唯一的一个值),可以赋值给任意引用类型,将返回一个该类型对象的空引用(其实还是null)。

说白了就是给某个刚申明的引用类型变量不在对空间李里面不开辟任何空间。

null表示的是一个对象的值,而并不是一个字符串。例如声明一个对象的引用,String a = null ;
""表示的是一个空字符串,也就是说它的长度为0。例如声明一个字符串String str = "" ;

String str = null ; 表示声明一个字符串对象的引用,但指向为null,也就是说还没有指向任何的内存空间;
String str = ""; 表示声明一个字符串类型的引用,其值为""空字符串,这个str引用指向的是空字符串的内存空间;

通过以上所述可知:
空字符串对象null的值和内存地址都不相等。
相似回答