分配内存和赋值的区别:
isEmpty () :判断值是否为空,即使已经分配内存,但没有赋值,依然是空
null: 判断值是否为空,没有分配内存, 可能出现空指针异常
public class IsEmptyTest {
public static void main(String[] args) {
String s1 = new String();
String s2 = "abc";
String s3 = "";
String s4 = null;
System.out.println(s1 == null);
System.out.println(ObjectUtils.isEmpty(s1));
System.out.println("---------------");
System.out.println(s2 == null);
System.out.println(ObjectUtils.isEmpty(s2));
System.out.println("---------------");
System.out.println(s3 == null);
System.out.println(ObjectUtils.isEmpty(s3));
System.out.println("---------------");
System.out.println(s4 == null);
System.out.println(ObjectUtils.isEmpty(s4));
}
false
true
---------------
false
false
---------------
false
true
---------------
true
true
本文探讨了Java中内存分配和空值检查的区别,通过示例展示了`new String()`、``、`abc`和`null`在内存中的表现。`isEmpty()`方法用于检查字符串是否为空,而`null`则表示未分配内存,可能导致空指针异常。通过`ObjectUtils.isEmpty()`方法可以更安全地检查字符串是否为空。
740

被折叠的 条评论
为什么被折叠?



