您的位置:首页 > 编程语言 > Java开发

EasyDemo*Java 中关于String的空对象(null) ,空值(empty),空格的总结及小练习(on Github)

2018-02-25 20:11 381 查看

点击打开链接

定义

空对象:

String s = null; 

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

空值:

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

空格:

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

判断

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

空对象判断:

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

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

空值判断:

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

空格判断:

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

运算

字符串提供了"+"操作符,表示两个字符串对象可以链接一起,在使用该运算时候,有这样一条规则:如果有一个操作数是字符串,其他操作数会被转换成字符串。
在上面代码s = s + t; s申明时候为空对象,通过"+"时,会将null转化为一个字符串对象。因此结果是nullab。
大家可以对照上面代码例子,更加详细的了解这三者实现机制。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: