zoukankan      html  css  js  c++  java
  • (转)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(" ") ; 


  • 相关阅读:
    mysqldump 命令的使用
    linux find 命令查找文件和文件夹
    linux定时任务
    find: `./folder': No such file or directory 错误处理
    利用mysqldump 与 nginx定时器 定时备份mysql库
    vue项目在nginx中不能刷新问题
    CodeReview规范
    VUE npm run build的项目出现跨域请求的问题npm run dev没有这个问题
    composer.json和composer.lock到底是什么以及区别?
    K近邻算法小结
  • 原文地址:https://www.cnblogs.com/immiao0319/p/8453538.html
Copyright © 2011-2022 走看看