Java


JAVA.FUNCS.RED.STR : Redundant Call for String Argument (Java)

要旨

A method call seems useless.

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

import java.util.Date;

public class Student {
  private final String name;
  private final String surname;
  private final Date birthDay;

  public Student(String name, String surname) {
      this.name = name;
      this.surname = surname;
      this.birthDay = new Date();
  }

  public static void main(String[] args) {
      Student s = new Student("John", "Lennon");
      print(s.toString());                                    // can remove this call to toString() to eliminate the warning in print()
  }

  private static void print(Object s) {
      System.out.println(s.toString());           /* "Redundant Call for String Argument (Java)" warning issued here 
                                                   * - s always holds a String at runtime. 
                                                   */ 
  }

  public String toString() {
      return "I'm " + name.toString() + surname.toString() + "." /* "Redundant Call for String Argument (Java)" warning issued here 
                                                   * - name and surname are already Strings. 
                                                   */ 
        + " My birthday is on " + birthDay.toString();
  }
}

解決法

Check if the call is useless and delete it.

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

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