Java空字符串和null的区别
“”是一个长度为 0 且占内存的空字符串,在内存中分配一个空间,可以使用 Object 对象中的方法。例如:
null 是空引用,表示一个对象的值,没有分配内存,调用 null 的字符串的方法会抛出空指针异常。例如如下代码:
空字符串 "" 是长度为 0 的字符串。可以调用以下代码检查一个字符串是否为空:
示例如下:
“”.toString()
等。null 是空引用,表示一个对象的值,没有分配内存,调用 null 的字符串的方法会抛出空指针异常。例如如下代码:
String str = null;
System.out.println(str.length());
空字符串 "" 是长度为 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()); // 空字符串""的长度为0 System.out.println(str2.length()); // 抛出空指针异常 System.out.println(str1); // 输出"" System.out.println(str1 == str2); // 内存地址的比较,返回false System.out.println(str1.equals(str2)); // 值的比较,返回false System.out.println(str2 == str3); // 内存地址的比较,返回false System.out.println(str3.equals(str2)); // 值的比较,返回false System.out.println(str1 == str3); // 内存地址的比较,返回false System.out.println(str1.equals(str3)); // 值的比较,返回true }
所有教程
- socket
- Python基础教程
- C#教程
- MySQL函数
- MySQL
- C语言入门
- C语言专题
- C语言编译器
- C语言编程实例
- GCC编译器
- 数据结构
- C语言项目案例
- C++教程
- OpenCV
- Qt教程
- Unity 3D教程
- UE4
- STL
- Redis
- Android教程
- JavaScript
- PHP
- Mybatis
- Spring Cloud
- Maven
- vi命令
- Spring Boot
- Spring MVC
- Hibernate
- Linux
- Linux命令
- Shell脚本
- Java教程
- 设计模式
- Spring
- Servlet
- Struts2
- Java Swing
- JSP教程
- CSS教程
- TensorFlow
- 区块链
- Go语言教程
- Docker
- 编程笔记
- 资源下载
- 关于我们
- 汇编语言
- 大数据
- 云计算
- VIP视频