Java 未为参数类型double,boolean定义运算符-=

Java 未为参数类型double,boolean定义运算符-=,java,if-statement,boolean,double,Java,If Statement,Boolean,Double,我正在开发一些东西。但是出现了一个错误,我无法修复它。 它在我的代码中表示“参数类型double,boolean的运算符-=未定义”: if (x -= 15.0D < 0.0D) { if(x-=15.0D

我正在开发一些东西。但是出现了一个错误,我无法修复它。 它在我的代码中表示“参数类型double,boolean的运算符-=未定义”:

if (x -= 15.0D < 0.0D) {
if(x-=15.0D<0.0D){

我只是漏掉了一部分代码。有人知道如何修复它吗?我无法让它工作。谢谢:)

问题在于优先级。
在这种情况下,“的优先级是由Java定义的,
-=
的优先级低于
如果(x-15.0D<0.0D)
或者更好地进行双重比较
如果(double.compare(x-15d,0)==-1)
@SMA不一定:OP可能意味着
如果((x-=15.0D)<0.0D)
加倍。比较
并不是更好的表达方式。当
15<0
时,你想从
x
中减去什么?这就是你想要的吗?
x -= (15.0D < 0.0D)
x -= false
(x -= 15.0) < 0.0
x -= 15.0;
if (x < 0.0) {
if (x - 15.0 < 0.0)
if (x < 15.0) {
15.   15D  15.0  15.D  15.0D