温馨提示×

温馨提示×

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

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

Java Double 双精度怎么处理空值

发布时间:2026-07-25 01:37:45 来源:亿速云 阅读:102 作者:小樊 栏目:编程语言

在 Java 里,double基本类型不能为 null
如果你需要处理“空值”,必须使用 Double(包装类型)。下面分几种常见场景说明。


一、基本结论

类型 是否可为 null 说明
double ❌ 不可以 默认值是 0.0
Double ✅ 可以 默认值是 null

要处理空值,用 Double


二、常见处理方式

✅ 1. 使用 Double 接收可能为空的数值

Double price = null;

if (price == null) {
    System.out.println("价格为空");
} else {
    double value = price; // 自动拆箱
    System.out.println(value);
}

⚠️ 注意:
如果 price == null,下面代码会抛异常:

double v = price; // NullPointerException

✅ 2. 给默认值(最常见)

Double price = null;
double result = price != null ? price : 0.0;

或 Java 8+:

double result = Optional.ofNullable(price).orElse(0.0);

✅ 3. 使用 Optional<Double>(推荐用于返回值)

Optional<Double> price = Optional.empty();

double result = price.orElse(0.0);

适合:

  • 方法返回值
  • 避免返回 null

✅ 4. 数据库 / JSON 场景(非常常见)

数据库(JDBC / MyBatis)

Double price; // 对应数据库 NULL

MyBatis 返回:

  • 数据库 NULL → Java null

✅ 不要用 double


JSON(Jackson / Fastjson)

public class Product {
    private Double price; // 正确
}

JSON:

{
  "price": null
}

三、double 和 Double 的对比

double d1 = 0.0;     // 一定有值
Double d2 = null;    // 可以表示“没有值”

四、常见错误

❌ 错误写法:

double price = null; // 编译错误

❌ 空指针风险:

Double price = null;
double p = price; // NullPointerException

✅ 正确写法:

Double price = null;
if (price != null) {
    double p = price;
}

五、总结一句话

Java 中 double 不能表示空值,处理空值必须用 Double,并在使用前判空。

如果你有具体场景(数据库、JSON、前端传值、计算、BigDecimal),可以贴代码,我可以帮你给出最合适的写法。

向AI问一下细节

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

AI