You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java报错:运算符'!='无法应用于'double'与'null'求助

问题分析与解决

你的报错原因很明确:

  • double是Java的基本数据类型,不是引用类型,所以不能和null做!=比较——基本类型本身不存在null值,默认值是0.0。
  • 基本类型也没有equals()方法,只有Double这类引用包装类才能调用该方法。
  • 另外你的方法返回类型设为double不合理,判断“是否免费”应该返回布尔值boolean。

修正后的代码

double price;
public boolean isFree() {
    return this.price == 0.0;
}

补充:浮点数精度问题

如果price是通过计算得到的(比如折扣、税费运算),直接用==比较浮点数可能会有精度误差,建议通过差值判断是否接近0:

public boolean isFree() {
    return Math.abs(this.price - 0.0) < 1e-9;
}

内容的提问来源于stack exchange,提问作者Rawan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 23:50:36