1、空字符串:

空字符串表示一个字符串对象引用的值为空,String a =""  声明了一个字符串变量a,变量a的值为空。而a指向了空字符串的内存空间。

2、null

null表示:一个字符串对象的引用为空,String a=null;  声明了一个字符串变量a,变量a的引用为空。所以a没有指向任何的内存空间,在堆中也没有开辟任何的空间

代码:

package beli2017;
//null与空字符串的区别
public class NullDemo {public static void main(String[] args){String str="";String str1=new String();//创建一个字符串对象的默认值为""String str2=null;//str和str1被实例化,而str2没有实例化,但str和str1所指的地址不同,但值一样,都为空。System.out.println(str==str1);                //内存地址的比较,返回falseSystem.out.println(str.equals(str1));         //值的比较,返回trueSystem.out.println(str1==str2);                //内存地址的比较,返回falseSystem.out.println(str1.equals(str2));         //值的比较,返回falseSystem.out.println(str==str2);                //内存地址的比较,返回falseSystem.out.println(str.equals(str2));         //值的比较,返回false//空字符串的判断方法:if(str.equals("")){System.out.println("str是一个空字符串");}if(str==""){System.out.println("str是一个空字符串");}if(str.length()==0){System.out.println("str是一个空字符串");}if(str.isEmpty()){System.out.println("str是一个空字符串");}if(str1.equals("")){System.out.println("1、str1是一个空字符串");}if(str1==""){System.out.println("2、str1是一个空字符串");}//内存地址的比较,不相等,所有没有输出if(str1.length()==0){System.out.println("3、str1是一个空字符串");}if(str1.isEmpty()){System.out.println("4、str1是一个空字符串");}//str是一个空字符串//str是一个空字符串//str是一个空字符串//str是一个空字符串//1、str1是一个空字符串//3、str1是一个空字符串//4、str1是一个空字符串//null字符串的判断方法if(str2==null){System.out.println("str2是null字符串");}//解释:为什么null判断不用equals方法//由于 null 不是对象,"" 是对象,所以比较的方式是==//str2.equals(Object o),后面应该是对象/*if(str2.equals(null)){System.out.println("str2是null字符串");}//这里会报Exception in thread "main" java.lang.NullPointerException*/if(str1==null){System.out.println("str2是null字符串");}if(str==null){System.out.println("str2是null字符串");}}
}

参考:https://blog.csdn.net/u013161431/article/details/77932060

https://www.cnblogs.com/Triomphe/p/7450821.html

https://www.cnblogs.com/candle806/archive/2013/01/17/2864917.html

https://www.jianshu.com/p/ad1426077e32

Java中空字符串与null的区别相关推荐

  1. JAVA空字符串和Null的区别浅析

    空字符串:String str1 = " "; 空字符串:是一个长度为0且占内存的空字符串,在内存中分配一个空间,可以使用Object对象中的方法.例如to String( )方法 ...

  2. Java 空字符串和null的区别【实践】

    1.空字符串 ""是一个空字符串,长度为0且占内存的,可以使用Object对象中的方法.如"".toString(). new String() 创建一个字符串 ...

  3. MySQL中空字符串与null的区别:计数 判断 时间

    1.在进行count()统计某列的记录数的时候,如果采用的NULL值,系统会自动忽略掉,但是空值是会进行统计到其中的. 2.判断NULL 用IS NULL 或者 IS NOT NULL, SQL语句函 ...

  4. Java空字符串和null

    转载 Java空字符串与null的区别 1.类型 null表示的是一个对象的值,而不是一个字符串.例如声明一个对象的引用,String a=null.        ""表示的是一 ...

  5. Java进阶(二十一)java 空字符串与null区别

    java 空字符串与null区别 1.类型 null表示的是一个对象的值,而并不是一个字符串.例如声明一个对象的引用,String a = null ; ""表示的是一个空字符串, ...

  6. Java中String字符串:空字符串、存放空的字符串、null的区别

    Java中String字符串:空字符串.存放空的字符串.null的区别 Java String字符串中有三种特殊的字符串:空字符串.存放空的字符串.字符串为Null,如下所示: String str1 ...

  7. java中的“”和null的区别

    null和""的区别 问题一: null和""的区别 String s=null; string.trim()就会抛出为空的exception    Strin ...

  8. 1.13 空字符串和null的区别

    "" ""是一个长度为 0 且占内存的空字符串,在内存中分配一个空间,可以使用 Object 对象中的方法.例如:"".toString() ...

  9. java实例化字符串两种方式区别

    一:实例化字符串对象的两种方式的区别 这个知识点是面试中的一个经久不衰的问题,.也是一个比较麻烦的问题,对于许多同学来说也是难点,本次课我们会详细的分析.上次课说了创建字符串对象的两种方式:直接赋值( ...

最新文章

  1. 计算机怎么模拟人,计算机能不能模拟人的思维?
  2. Django框架(6.django后台管理/通过后台对数据表的增删改)
  3. VS2005 Web Application Project启用WSE(Ver 3.0)的方法
  4. Android开发群
  5. java标量替换_JAVA逃逸分析、栈上分配、标量替换、同步消除
  6. 在webstorm中怎么配置本地服务器
  7. 游戏“外挂”?—— AI生成游戏最强攻略
  8. java基础 小知识点
  9. Codeforces 1016C Vasya And The Mushrooms(动态规划)
  10. Burp Suite配合xray代理socks流量
  11. 靖哥哥教你一步一步安装redis监控redis-stat-超详细
  12. 拉格朗日乘子法(Lagrange Multiplier) 和KKT条件
  13. 幸运童年童装 研发制造营销
  14. 蒲公英 · JELLY技术周刊 Vol.33: 前端基础课堂开课啦~
  15. 稳压、调压、监控、DC/DC电路大全
  16. STM32F103 CAN通信波特率的计算方法
  17. 史上最简单的spark系列教程 | 完结
  18. 数组去重,对象去重,数组对象去重
  19. mac修改服务器身份,Mac 基础教程:如何打开身份不明开发者的应用程序
  20. 007 分数的基本性质(五下)

热门文章

  1. Mac上FDM替代迅雷
  2. 为你的软件测试全职业生涯规划保驾护航
  3. 保研复习笔记:线性代数
  4. linux在线聊天报告,linux聊天室报告.doc
  5. 被加班逼到要用猝死换休息的程序员们
  6. xml python2.6_Python2.6 XML解析器断言
  7. 风速风向传感器使用方法
  8. android 微信支付接口申请分享
  9. vue中字典值存在多个进行反写
  10. 微信小程序踩坑(一)——开发者工具更新时,显示不能打开要写入的文件