...
In this noncompliant code example, a variable of type int (big) is multiplied by a value of type float one. In this case, numeric promotions require that big is promoted to the type float before the multiplication occurs, resulting in loss of precision (see NUM10NUM17-J. Beware of precision loss when casting converting primitive integers to floating-point).
].
| Code Block | ||
|---|---|---|
| ||
class Test{
public static void main(String[] args){
int big = 1999999999;
float one = 1.0f;
// binary operation, loses precision because of implicit cast
System.out.println(big * one);
}
}
|
...