Java


JAVA.FUNCS.RED.INT : Redundant Call for Integral Argument (Java)

要旨

A call is useless when its argument is an integral value.

This checker finds calls that are useless and can consequently be removed from the code. This means that the code becomes simpler and more efficient, but might also be the sign of a programming bug.

プロパティ

クラス名 Redundant Call for Integral Argument (Java)
日本語クラス名 Redundant Call for Integral Argument (Java)
クラス分類 信頼性 (reliability)
ニーモニック JAVA.FUNCS.RED.INT
カテゴリー なし
対応言語 Java で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで有効になっています。チェックを無効にするにはプロジェクト設定ファイル (configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += discard class="Redundant Call for Integral Argument (Java)"

public class MathExample {

  public static void main(String[] args) {
      testDivide(13, 4);
  }

  private static double testDivide(int a, int b) {
      return Math.floor(a / b); // "Redundant Call for Integral Argument (Java)" warning issued here 
  }
}

As reported in the Java documentation, the method floor returns the largest double value that is less than or equal to the argument and is equal to a mathematical integer. However, the actual parameter a / b is a division between integers (a and b are int), then already return a mathematical integer and the floor method will return the same value.

解決法

Check if the call is useless and delete it.

関連のある設定ファイルパラメータ

設定ファイルの以下のパラメータがこのワーニングクラスのチェックに影響します。