当前位置: 首页 > news >正文

Java中isEmpty和null以及“”的区别

Java中isEmpty和null以及“”的区别,这是一个比较容易混淆的概念,为了弄清楚这个问题,最好的方法当然是写程序来验证,上代码吧:

  1. *
    */
    package JavaTest;
    /**
    * @author wxwevenpc
    * @version 1.0 2012-11-25
    */
    public class TestNull {
    /**
    * @param args
    */
    public static void main(String[] args) {
    String a = new String();
    String b = "";
    String c = null;
    if(a.isEmpty())
    {
    System.out.println("String a = new String");
    }
    if(b.isEmpty())
    {
    System.out.println("String b = \"\"");
    }
    if(c==null)
    {
    System.out.println("String c =null");
    }
    if(null == a) {
    System.out.println("String a =null");
    }
    if(a=="")
    {
    System.out.println("a = ''");
    }
    }
    }


以上输出:

  1. String a = new String
  2. String b = ""
  3. String c =null

分析:

此时a是分配了内存空间,但值为空,是绝对的空,是一种有值(值存在为空而已)

此时b是分配了内存空间,值为空字符串,是相对的空,是一种有值(值存在为空字串)

此时c是未分配内存空间,无值,是一种无值(值不存在)

相关文章:

  • wMy_Python ~储存相关~
  • Bean注入报错:org.springframework.beans.factory.BeanCreationException
  • ORA-00918: 未明确定义列
  • [转] 32位 PL/SQL Develope r如何连接64位的Oracle 图解
  • 拥有300万安装量的应用是如何恶意推广刷榜的?
  • IntelliJ IDEA 创建 Java web Maven项目
  • 示波器高压差分探头的了解及常见测量方法
  • js中截取文件的后缀名方法
  • jQuery通过ajax传送数组
  • KEngine:Unity3D资源的打包、加载、调试监控
  • 用idea打包spring boot项目,然后部署到Linux服务器上
  • linux 下查看机器是cpu是几核的(转)
  • 阿里巴巴 Java 开发手册--学习(一)
  • zookeeper监控软件
  • 阿里巴巴 Java 开发手册--学习(二)
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 03Go 类型总结
  • HTTP那些事
  • jdbc就是这么简单
  • JS基础之数据类型、对象、原型、原型链、继承
  • nginx 配置多 域名 + 多 https
  • React+TypeScript入门
  • 基于HAProxy的高性能缓存服务器nuster
  • 目录与文件属性:编写ls
  • 入门级的git使用指北
  • 限制Java线程池运行线程以及等待线程数量的策略
  • puppet连载22:define用法
  • ​如何防止网络攻击?
  • ​如何在iOS手机上查看应用日志
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (06)金属布线——为半导体注入生命的连接
  • (1) caustics\
  • (1)Android开发优化---------UI优化
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (转)ObjectiveC 深浅拷贝学习
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • *上位机的定义
  • .gitattributes 文件
  • .Net Core和.Net Standard直观理解
  • .net mvc 获取url中controller和action
  • .net mvc部分视图
  • .net 怎么循环得到数组里的值_关于js数组
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题
  • .NET企业级应用架构设计系列之技术选型
  • .Net组件程序设计之线程、并发管理(一)
  • .net最好用的JSON类Newtonsoft.Json获取多级数据SelectToken
  • @Autowired自动装配
  • @RunWith注解作用
  • [ C++ ] 继承
  • [20161214]如何确定dbid.txt