Kotlin中将Any强制转换为Double再进行比较时,出现引用无法识别的语法错误

遇到一个很奇怪的错误。在Kotlin中,将Any强制转换为Double再进行比较时,出现了引用无法识别的语法错误。但是只会在比较运算符是“<”时出现。

如果用“>”符号就是正确的。

目前我的解决方法是用括号把强转操作括起来。

而且上图的Kotlin代码是从下面这个Java代码直接转换过来的,也就是说连IDEA都会在这个语法上转换出错。。。

实在是看不懂 :sob:,各位大佬知道是怎么回事吗?

看错误可知就是算符优先级的问题,as优先级低于 <,导致最后一个 as 作用的是布尔值结果,加括号可解决。并不知道IDE的情况,如果你觉得这是bug应该报给他们。

但是>和其他比较运算符不受影响很奇怪