我是java新手,我正在构建一个酒店预订系统。我正试图编写一个方法来检查房间是否空闲,但我一直得到这个错误信息& Java操作符' !='不能应用于'double' 'null'"下面是代码:
double price;
public double isFree() {
return this.price != null && this.price.equals(0.0);
}
null
是引用-指向对象的指针。就像地址簿里的地址。在java中,所有对象都以地址的形式存储。这是因为在一张纸上给你一个地址比在一张纸上复制整个房子要简单得多。
null
是一个特殊的值:一个所有人都知道的地址——那里什么都没有。
double
是一个原语。不是对象。根本就没有地址。要转移原语,它们只是…转移。这就是为什么所有原语都很小,并且固定大小。
如果它们不是地址,它们不可能是null
。
当您创建一个字段时,它们以0.0开始。没有办法区分'0'和'未设置'。
.
是解引用操作符:它基本上意味着"查找这个地址,然后走到它"。因此,你不能在双精度上这样做。price.anything
不工作。price == 0.0
。
我不确定price
是否是传达房间是否空闲的好方法,也许你想要比较一个。不过,如果你坚持:
public boolean isFree() {
return this.price == 0.0;
}
注意:这返回一个boolean
-当然它应该。它是免费的吗?是一个你用boolean
值回答的问题,而不是double
值。