冗長性の高いコンストラクトか効率が低いコンストラクトの代わりに、LongShortByteDouble または Float クラスの Integer.compare() メソッドまたは同様のメソッドへの呼び出しに置換できる式を報告します。

xy がボクシングされた整数の場合は x.compareTo(y) が提案され、プリミティブの場合は Integer.compare(x, y) が提案されます。

例:


  public int compare(int x, int y) {
    return x > y ? 1 : x < y ? -1 : 0;
  }

クイックフィックス適用後:


  public int compare(int x, int y) {
    return Integer.compare(x, y);
  }

Double.compareFloat.compare により、コードのセマンティクスがわずかに変更されます。 具体的には、-0.00.0 が区別されるようになります (Double.compare(-0.0, 0.0) が -1 になります)。 また、NaN 値が一貫して処理されます。 ほとんどの場合、実際にはこのセマンティクスの変更によってコードが改善されます。 セマンティクスの変更が受け入れられない場合は、チェックボックスを使用して浮動小数点数に対するこのインスペクションを無効にしてください。

2017.2 の新機能です