我知道null在内存堆中没有开辟空间 而"" 是在内存堆中开辟了空间 存在一个空对象。我想知道的是实际判断一个文本框时代表的是什么意思?是空格和什么都不输入的区别吗?
你自己都说了:null在内存堆中没有开辟空间 而"" 是在内存堆中开辟了空间 存在一个空对象。
==null是先判断你的empName存不存在(即有没有分配内存),如果不存在你后面empName.equals就会出NPE。
empName.equals("") 这个表示empName存在(即分配了内存)了,但是什么都不输入的情况。
而输入空格取道的应该是 " " 这样,所以你这里最好先trim一下
不是,不输入和输入空格显示的都是空,但是不输入时ength=0且内容为空,输入空格时length不等于0且内容不为空。
你要是想判断是否全为空格,那就把空格去掉在判断length
一个是什么都没有(null),一个是没有内容的字字符串(“”)。
null是空对象,“”是空字符串。前者直接拿来使用会报错,后者可以拿来进行一些操作。
null就是什么都没有,""是一个字符串
一个就像没有房子,一个就像有房子但是没住人