摆脱“浮点上下文中的整数除法”警告

1 java warnings intellij-idea suppress-warnings

是否可以在这行代码中消除“浮点上下文中的整数除法”警告:

int num = 14;
int roundedValue = (Math.round(num / 10) * 10); 
Run Code Online (Sandbox Code Playgroud)

Ste*_*n C 7

那么一种解决方案是

int roundedValue = (num / 10) * 10; 
Run Code Online (Sandbox Code Playgroud)

请注意,整数除法会截断,因此Math.round上面的调用是多余的。

另一方面,这可能不会给您所期望的答案。给出不同(但可能更正确)答案的可能替代方案是:

int roundedValue = Math.round(num / 10.0) * 10; 
Run Code Online (Sandbox Code Playgroud)

num = 16(例如,您将看到 的不同结果。)

换句话说,这个警告实际上可能指出了代码中的错误!如果警告告诉您一些重要的事情,那么让警告“消失”是一个坏主意。


如果您确实需要使用 Intellij 抑制特定行上的警告;请参阅在 IntelliJ 中禁用警告一行。(使用 IDE 快捷方式意味着您不必知道编译器特定的警告名称。)