JAVA中isEmpty、null、""的区别
2020-12-13 04:45
标签:ring system 空指针 空间 异常 ati 字符 print The isEmpty() 得出的结论: isEmpty() 1.如果不分配内存空间,不能用isEmpty(),否则报空指针异常 2.isEmpty()不能分辨出值是空还是空字符串 null 1.null只能分辨出值是否不分配内存空间 “” 1.不管值是否分配内存空间都不会报错 例: 结果: JAVA中isEmpty、null、""的区别 标签:ring system 空指针 空间 异常 ati 字符 print The 原文地址:https://www.cnblogs.com/aaronRhythm/p/11121065.html
分配了内存空间,值为空,是绝对的空,是一种有值(值 = 空)
""
分配了内存空间,值为空字符串,是相对的空,是一种有值(值 = 空字串)
null
是未分配内存空间,无值,是一种无值(值不存在)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 code
if (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值存在,为空字符串或者为空
上一篇:Deskpool安装之:准备Windows XP虚拟机基础镜像
下一篇:JS 引用
文章标题:JAVA中isEmpty、null、""的区别
文章链接:http://soscw.com/essay/29895.html