適切なインターフェースではなく、コレクションクラスを型として使用して作成されている Collection 変数の宣言を報告します。 変数の型を弱化するとコンパイラーエラーが発生する場合は、警告は表示されません。

例:


  // 警告: 具象コレクションクラスである ArrayList が使用されています。
  int getTotalLength(ArrayList<String> list) {
    return list.stream().mapToInt(String::length).sum();
  }

  // trimToSize() メソッドは List インターフェースでは
  // 使用できないため、警告は表示されません。
  void addData(ArrayList<String> data) {
    data.add("Hello");
    data.add("World");
    data.trimToSize();
  }
適切なコレクションインターフェース (CollectionSetList など) を使用するためのクイックフィックスが提案されます。