더 장황하거나 덜 효율적인 구문 대신 Integer.compare() 메서드 호출이나 Long, Short, Byte, Double 혹은 Float 클래스의 비슷한 메서드 호출로 대체될 수 있는 표현식을 보고합니다.

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의 새로운 기능