(转)Java 中关于String的空对象(null) ,空值(empty),空格

Posted 排序和map

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(转)Java 中关于String的空对象(null) ,空值(empty),空格相关的知识,希望对你有一定的参考价值。

原文出处:Java 中关于String的空对象(null) ,空值(empty),空格 

定义 

空对象: 
String s = null; 

空对象是指定义一个对象s,但是没有给该对象分配空间,即没有实例化该对象,因此,空对象在调用所有对象方法时候都会抛出异常,如s.length(), s.isEmpty()等方法。 

空值: 
String k = ""; 

空值是指一个字符床对象已经实例化,即系统已经给该变量分配了空间,只是对象的内容为空。 

空格: 
String n = " "; 

是指一个字符对象已经实例化,对象的内容为空格。 



判断 
对于上述三种情况,如何判断一个字符变量属于上述类型,下面主要介绍下方法: 

空对象判断: 
判断一个字符变量是否是null ,使用 逻辑判断 等于(==)与null对象比较,代码表达式如下: 

s == null; (真的是null)

注意: 空对象不能使用诸如equals(), isEmpty()等对象方法,因为它未被实例化。 

空值判断: 

判断空值可有三种方式: 
    (1)equals方法比较的是两个对象的内容是否相同,可用表达语句:k.equals("") ; 
      (2)  length()方法是查看某个字符串对象的字符个数,可用表达式判断:k.length() == 0 ; 

      (3)  isEmpty()方法是判断某个字符串对象字符个数时候为0,可用表达式判断:k.isEmpty() ; 

例如:判断队列已经创建出对象,则不用null。再判断对象是否为零,因此用isempty()



空格判断: 
空格内容为一个空格,虽然在输出显示时候和空值一样,都是空的,但是在系统里面的内存机制不一样的,空格字符串表示该对象的内存空间里面有内容,是空格,字符个数是1,因此,在使用如下方法时候结果如下: 

n.length() 的输出值为1, n.isEmpty()输出为false。 

判断语句: n.equals(" ") ; 

















































以上是关于(转)Java 中关于String的空对象(null) ,空值(empty),空格的主要内容,如果未能解决你的问题,请参考以下文章

JAVA 中关于String的一些基本知识

java中关于String类型对象的问题--判断是不是是相同的对象

Java中关于String对象引用的问题?

Java中关于String的比较

Java中关于大小写字母的转换

Java中关于String类以及字符串拼接的问题