if ((variable == Math.floor(variable)) && !Double.isInfinite(variable)) { // integer type}这将检查双精度值的四舍五入值是否与双精度值相同。
你的变量可能具有
int或
double值,并且
Math.floor(variable)始终具有int值,因此,如果你的变量等于,
Math.floor(variable)则它必须具有int值。
如果变量的值是无穷大或负无穷大,那么这也不起作用,因此向条件添加“只要变量不是无穷大”。



