温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java Double双精度如何判空

发布时间:2026-09-15 03:27:11 来源:亿速云 阅读:84 作者:小樊 栏目:编程语言

在 Java 里,double(基本类型)不能为 null,但 Double(包装类型)可以为 null。下面分情况说清楚。


一、基本类型 double(不可能为 null)

double d = 0.0;
  • double 是基本数据类型
  • 永远有值,不能是 null
  • 不需要、也不能判空

二、包装类型 Double(可以判空)

✅ 正确判空方式

Double d = null;

if (d == null) {
    System.out.println("Double 为 null");
}

或用于方法参数 / 返回值:

public void test(Double d) {
    if (d == null) {
        return;
    }
    double value = d; // 自动拆箱
}

三、常见坑:自动拆箱导致 NPE

Double d = null;
double x = d; // ❌ NullPointerException

✅ 安全写法:

Double d = null;
double x = (d != null) ? d : 0.0;

或使用 Optional

Double d = null;
double x = Optional.ofNullable(d).orElse(0.0);

四、判断“是否为空或 NaN”(常见业务需求)

Double d = null;

if (d == null || d.isNaN()) {
    System.out.println("为空或非法数值");
}

五、总结

类型 能否为 null 判空方式
double ❌ 不能 无需判空
Double ✅ 能 d == null
拆箱 ⚠️ 风险 先判 null

如果你是在 数据库 / JSON / 接口字段 里用 Double,一般都应该用 Double 而不是 double,否则拿不到“无值”的语义。

需要我结合 MyBatis / Jackson / Spring 场景讲判空吗?

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI