在 Java 里,double(基本类型)不能为 null,只要你讨论的是空(null),一定是 Double(包装类型)。两者要分清楚。
double(基本类型)double d;
0.0== null 判断(编译不过)✅ 结论:
基本类型
double不存在“是否为空”的判断
Double(包装类型)Double d = null;
nullDouble d = ...;
if (d == null) {
System.out.println("为空");
}
如果你要判断 不是空,并且有值:
if (d != null) {
double value = d; // 自动拆箱
}
⚠️ 错误示例(会抛 NullPointerException)
Double d = null;
if (d > 0) { // ❌
}
✅ 正确写法:
if (d != null && d > 0) {
}
0.0 判断“空”if (d == 0.0) { // 错误用法
}
❗ 问题:
0.0 是合法数值Double,什么时候用 double| 场景 | 推荐 |
|---|---|
| 数据库字段允许 NULL | Double |
| JSON 反序列化 | Double |
| 数值计算 | double |
| 频繁运算、无空值 | double |
Java 中:
double:不能为nullDouble:可以用== null判断- 判断“是否等于 0” ≠ 判断“是否为空”
如果你有 数据库 / JSON / 前端传值 的具体场景,我可以直接给你最合适的写法。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。