判断对象是否为空

在Java和JavaScript中,判断一个对象是否为空通常有以下几种方法1

Java

  1. 使用 ==!= 运算符比较对象引用与 null2
if (myObject == null) {
    // myObject 为空
} else {
    // myObject 不为空
}
  1. 使用 Objects.isNull() 方法,可以处理 null 参数的情况2
if (Objects.isNull(myObject)) {
    // myObject 为空
} else {
    // myObject 不为空
}
  1. 使用 instanceof 运算符检查对象是否为特定类型2
if (myObject instanceof MyClass) {
    // myObject 不为空,并且是 MyClass 类型
} else {
    // myObject 为空或不是 MyClass 类型
}
  1. 使用 Optional 类,Java 8 引入的功能强大工具类2
Optional<MyClass> myOptional = Optional.ofNullable(myObject);
if (myOptional.isPresent()) {
    // myObject 不为空
}

JavaScript4

  1. 使用 Object.keys() 方法检查对象是否有可枚举的自身属性5
const obj = {};
if (Object.keys(obj).length === 0) {
    console.log('对象为空');
} else {
    console.log('对象不为空');
}
  1. 使用 for...in 循环遍历对象的所有可枚举属性4
const obj = {};
let isEmpty = truefor (const key in obj) {
    if (obj.hasOwnProperty(key)) {
        isEmpty = falsebreak;
    }
}
if (isEmpty) {
    console.log('对象为空');
} else {
    console.log('对象不为空');
}
  1. 使用 JSON.stringify() 方法,注意这种方法会将对象转换为字符串,可能会有一些性能开销1
const obj = {};
if (JSON.stringify(obj) === '{}') {
    console.log('对象为空');
} else {
    console.log('对象不为空');
}
  1. 使用 Object.getOwnPropertyNames() 方法1
const obj = {};
if (Object.getOwnPropertyNames(obj).length === 0) {
    console.log('对象为空');
} else {
    console.log('对象不为空');
}

请根据您的具体需求选择合适的方法来判断对象是否为空5

Top