可疑整数除法的检查样式规则?

rad*_*dai 6 java checkstyle integer-division spotbugs

是否有一个 checkstyle 规则可以捕获这样的内容:

double result = someInt / someOtherInt;
Run Code Online (Sandbox Code Playgroud)

result 是 double (所以显然需要分数)但右侧会进行整数除法(向下取整)。

这样的东西存在吗?

mer*_*ike 2

不,但findbugs 可以

ICAST:积分除法结果转换为双精度或浮点(ICAST_IDIV_CAST_TO_DOUBLE)

此代码将整数除法(例如 int 或 long 除法)运算的结果转换为 double 或 float。对整数进行除法会将结果截断为最接近零的整数值。结果被转换为 double 的事实表明应该保留这种精度。可能的意思是在执行除法之前将一个或两个操作数转换为双倍。