JAVA中isEmpty、null、""的区别

isEmpty()
        分配了内存空间,值为空,是绝对的空,是一种有值(值 = 空)  
 ""
        分配了内存空间,值为空字符串,是相对的空,是一种有值(值 = 空字串)  
 null
        是未分配内存空间,无值,是一种无值(值不存在)

得出的结论:

isEmpty()

  1.如果不分配内存空间,不能用isEmpty(),否则报空指针异常

  2.isEmpty()不能分辨出值是空还是空字符串

null

  1.null只能分辨出值是否不分配内存空间

“”

  1.不管值是否分配内存空间都不会报错

例:

public class Test {public static void main(String[] args) {//分配内存空间,值为空String a = new String();//分配内存空间,值为空字符串String b = "";//未分配内存空间String c = null;if (a != null) {System.out.println("a值存在");}if (b != null) {System.out.println("b值存在");}if (c == null) {System.out.println("c值不存在");}if (a == "") {System.out.println("a值存在,为空字符串");}if (b == "") {System.out.println("b值存在,为空字符串");}//dead codeif (c == "") {System.out.println("c值存在,为空字符串");}if (a.isEmpty()) {System.out.println("a值存在,为空字符串或者为空");}if (b.isEmpty()) {System.out.println("b值存在,为空字符串或者为空");}// Null pointer access: The variable c can only be null at this location
//        if (c.isEmpty()) {
//            System.out.println("String c=null");
//        }
    }}

结果:

1 a值存在
2 b值存在
3 c值不存在
4 b值存在,为空字符串
5 a值存在,为空字符串或者为空
6 b值存在,为空字符串或者为空

posted on 2019-07-02 15:39 MatrixRhythm 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/aaronRhythm/p/11121065.html

JAVA中isEmpty、null、的区别相关推荐

  1. JAVA 中equals()与==的区别

    原文地址:http://www.chineselinuxuniversity.net/articles/29594.shtml 值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存 ...

  2. 面试必问一:Java 中 == 和 equals 的区别你知道吗

    面试必问一:Java 中 == 和 equals 的区别你知道吗 前言 关于这个问题,一般初中级面试中都会遇到,还记得我当初实习找工作的时候也遇到了这个问题,现在都还记得自己是怎么回答的:== 是基本 ...

  3. java 删除二维数组中的null_避免在Java中检查Null语句

    1.概述 通常,在Java代码中处理null变量.引用和集合很棘手.它们不仅难以识别,而且处理起来也很复杂.事实上,在编译时无法识别处理null的任何错误,会导致运行时NullPointerExcep ...

  4. java基础- 与null的区别

    java中" "与null区别; 转载:http://www.cnblogs.com/x_wukong/p/3619221.html (1)问题一: null和"&quo ...

  5. java中Array和ArrayList区别 可以将 ArrayList想象成一种会自动扩增容量的Array

    java中Array和ArrayList区别 1)精辟阐述: 可以将 ArrayList想象成一种"会自动扩增容量的Array https://blog.csdn.net/ywjy10280 ...

  6. Java中有关Null的9件事

    对于Java程序员来说,null是令人头痛的东西.时常会受到空指针异常(NPE)的骚扰.连Java的发明者都承认这是他的一项巨大失误.Java为什么要保留null呢?null出现有一段时间了,并且我认 ...

  7. java 返回空数组_避免在Java中检查Null语句

    1.概述 通常,在Java代码中处理null变量.引用和集合很棘手.它们不仅难以识别,而且处理起来也很复杂.事实上,在编译时无法识别处理null的任何错误,会导致运行时NullPointerExcep ...

  8. java中的null类型---有关null的9件事

    摘自 https://blog.csdn.net/qq_25077777/article/details/80174763 今天听到一个问题,java中的null类型,null竟然是一种类型 java ...

  9. java 类 null_深入理解java中的null“类型”

    本文研究的主要是java中的null"类型"的相关实例,具体介绍如下. 先给出一道简单的null相关的题目,引发我们对null的探讨,后面会根据官方语言手册对null"类 ...

最新文章

  1. 苹果M1 Max芯片发布:570亿晶体管,图形性能堪比RTX 3080
  2. 一文看懂芯片测试产业
  3. 支持向量机svm的完整实现并配有解析
  4. Python 列表与元组的速度比较
  5. Linux Shell脚本中点号和source命令
  6. AGC008D K-th K
  7. 如何利用openssl来计算md4, md5, sha1, sha256, sha384, sha512等常用哈希值?
  8. 软件开发中 前台、中台、后台英文_最近处处惹人爱的中台到底是什么
  9. HTML表格设计用到哪些标签,网页设计:HTML表格标签
  10. 在Zuul中设置服务访问限流
  11. https 加端口_Ubuntu 安装Node 10.16 跑 Nodeppt 加Hexo博客再来个为知笔记私有云
  12. 锁表 for update
  13. phpstudy不执行php文件,phpstudy运行时突然无法报错
  14. 正版破解软件下载站大全(转载
  15. 行政人员为什么需要一套固定资产管理系统?
  16. 搜狗微信文章爬取(上)
  17. java word书签_Java 给Word中的指定字符串添加书签
  18. 矢量绘图界的性价比之王-Affinity Designer
  19. 我在 CMU 的八年博士生涯...
  20. Unity C# compiler: CS0121: The call is ambiguous between the following methods or properties

热门文章

  1. 用screenfetch显示带有酷炫Linux标志的基本硬件信息
  2. Win2003打不开https的问题
  3. 用Python实现排序算法——快速排序
  4. 2011年度最佳开源软件:Bossie奖结果公布
  5. 一根柱状图表示两种数据_柱状图不好看,那就换个坐标轴
  6. python调用摄像头录制视频_Python OpenCV使用摄像头捕获视频
  7. c#异常类的闰年判断
  8. Postman接口测试工具学习笔记(一)接口测试概念及Postman入门
  9. 强化学习:7基于直接策略搜索的强化学习⽅法 之 策略梯度
  10. LBRY:美SEC对我们的指控将威胁到整个加密货币行业