“”

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

null

null 是空引用,表示一个对象的值,没有分配内存,调用 null 的字符串的方法会抛出空指针异常。例如如下代码:

String str = null;
System.out.println(str.length());

new String() 创建一个字符串对象的默认值为 “”,String 类型成员变量的初始值为 null。

空字符串 “” 是长度为 0 的字符串。可以调用以下代码检查一个字符串是否为空:

if (str.length() == 0)

if (str.equals(""))

空字符串是一个 Java 对象,有自己的串长度(0)和内容(空)。不过,String 变量还可以存放一个特殊的值,名为 null,这表示目前没有任何对象与该变量关联。要检查一个字符串是否为 null,要使用以下条件:

if (str == null)

有时要检查一个字符串既不是 null 也不为空串,这种情况下就需要使用以下条件:

if (str != null && str.length() != 0)

注意:首先要检查 str 不为 null。如果在一个 null 值上调用方法,会出现错误。

示例如下:

public static void main(String[] args) {String str1 = new String();String str2 = null;String str3 = "";System.out.println(str3.length()); // 空字符串""的长度为0System.out.println(str2.length()); // 抛出空指针异常System.out.println(str1); // 输出""System.out.println(str1 == str2); // 内存地址的比较,返回falseSystem.out.println(str1.equals(str2)); // 值的比较,返回falseSystem.out.println(str2 == str3); // 内存地址的比较,返回falseSystem.out.println(str3.equals(str2)); // 值的比较,返回falseSystem.out.println(str1 == str3); // 内存地址的比较,返回falseSystem.out.println(str1.equals(str3)); // 值的比较,返回true
}

1.13 空字符串和null的区别相关推荐

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

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

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

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

  3. java中String值为空字符串与null的判断方法

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

  4. Java空字符串和null

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

  5. 空字符串和null有什么区别

    空字符串和 null 有很大的区别. 空字符串是一个长度为 0 的字符串,它是一个有效的字符串,代表着没有任何内容. 而 null 则表示没有任何值,不是一个有效的字符串,也不代表任何意义.它指向了一 ...

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

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

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

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

  8. mysql 替换空值_MySQL查询用空字符串替换NULL

    MySQL查询用空字符串替换NULL 如何用空字符串替换select中的NULL值?输出" NULL"值看起来不是很专业. 这是非常不寻常的,根据我的语法,我希望它能正常工作.希望 ...

  9. kettle默认情况下把空字符串当作NULL处理

    kettle默认情况下把空字符串当作NULL处理,这个问题在sqlserver会存在,最终只好找到修改配置的办法: 在C:\Users\用户名.kettle目录中找到kettle.properties ...

最新文章

  1. Apache 基金会发布2018财年年报:Java 项目占大半
  2. 【编译原理】有限自动机NFA-ε到NFA的探索
  3. DGA GAN——GAN在安全中的应用
  4. 原理分析之:从JDBC到Mybatis
  5. JavaWeb学习笔记——JSTL核心标签库
  6. java 对字符串中的数值排序
  7. Android修改项目包名
  8. 数据结构——堆栈的C++实现
  9. javascript 页面跳转大总结
  10. 枚举求解:试把一个正整数n拆分为若干个(不少于2个)连续正整数之和。例如:n=15,有3种拆分:15=1+2+3+4+5,15=4+5+6,15=7+8。 对于给定的正整数n,求出所有符合这种拆分要求
  11. 好用的shell_Linux系统安全 | Linux中的Shell和Bash
  12. SQL Server 2012新增的内置函数尝试
  13. mysql 性能调优 参数随写
  14. 关于激活navicat11失败
  15. U盘文件夹类型变成应用程序
  16. Jetson Nano 系列之:25FPS性能优化之路
  17. python 住区数据_GitHub - dstao/data_analysis: 基于Python的南京二手房数据采集及可视化分析...
  18. java实现串中找数字
  19. matlab指数e是如何表示,Matlab中表达e怎么操作?表达e方法详解
  20. 使用github免费搭建个人网站详细教程

热门文章

  1. RL之Q Learning:利用强化学习之Q Learning实现走迷宫—训练智能体走到迷宫(简单迷宫)的宝藏位置
  2. CV之IR:计算机视觉之图像检索(Image Retrieval)方向的简介、使用方法、案例应用之详细攻略
  3. 2018-11-25-今日总结
  4. hive使用derby的服务模式(可以远程模式)
  5. discuz二次开发笔记(一)------$_G全解析,discuz_g_PHP教程
  6. LeetCode 340. Longest Substring with At Most K Distinct Characters
  7. 《JS权威指南学习总结--3.8类型转换》
  8. C语言,获得堆栈增长方向的一种方法
  9. 春天里:丁丁与赵亚楠
  10. as3 内容自适应容器大小