Java SpringBoot中优雅地判断一个对象是否为空

在Java中,可以使用以下方法优雅地判断一个对象是否为空:

  1. 使用Objects.isNull()方法判断对象是否为空:

    java 复制代码
    import java.util.Objects;
    
    if (Objects.isNull(obj)) {
        // obj为空的处理逻辑
    }
    复制代码
  2. 使用Optional类优雅地处理可能为空的对象:

    java 复制代码
    import java.util.Optional;
    
    Optional<String> optionalObj = Optional.ofNullable(obj);
    optionalObj.ifPresent(obj -> {
        // obj不为空的处理逻辑
    });
    复制代码
  3. 使用StringUtils类判断字符串是否为空(适用于Apache Commons Lang库):

    java 复制代码
    import org.apache.commons.lang3.StringUtils;
    
    if (StringUtils.isEmpty(str)) {
        // str为空的处理逻辑
    }
    复制代码
  4. 使用org.json库判断JSON对象属性是否为空:

    java 复制代码
    import org.json.JSONObject;
    
    JSONObject jsonObj = new JSONObject("{\"key\": \"value\"}");
    if (jsonObj.isNull("key")) {
        // key属性为空的处理逻辑
    }
    java 复制代码
    import org.json.JSONObject;
    
    public class Main {
        public static void main(String[] args) {
            String jsonString = "{\"name\":\"张三\", \"age\":null}";
            JSONObject jsonObject = new JSONObject(jsonString);
    
            if (jsonObject.isNull("age")) {
                System.out.println("age属性为空");
            } else {
                System.out.println("age属性不为空");
            }
        }
    }
相关推荐
一只叫煤球的猫1 小时前
ThreadForge 源码解读一:ThreadScope 如何把并发任务放进清晰边界?
java·面试·开源
洛_尘1 小时前
Python 5:使用库
java·前端·python
程序员小假2 小时前
HTTP3 性能更好,为什么内网微服务依然多用 HTTP2?HTTP2 内网优势是什么?
java·后端
Mr数据杨2 小时前
【Codex】用教案主体模块沉淀标准化教学设计内容
java·开发语言·django·codex·项目开发
苍煜2 小时前
RocketMQ系列第三篇:Java原生基础使用实操,手把手写生产者消费者Demo
java·rocketmq·java-rocketmq
Andya_net3 小时前
Java | Java内存模型JMM
java·开发语言
182******20833 小时前
2026年java后端还有机会吗?还能找到工作吗?
java·开发语言
XS0301063 小时前
Java基础 map集合
java·哈希算法·散列表
凤山老林4 小时前
从0到1搭建企业级权限管理系统:Spring Boot + JWT + RBAC实战指南
java·spring boot·后端·权限管理·rbac
逍遥德4 小时前
AI时代,计算机专业大学生学习指南
java·javascript·人工智能·学习·ai编程