단순화된 표현식으로 바꿀 수 있는 String 생성자 및 toString() 또는 substring() 등의 메서드에 대한 불필요한 호출을 보고합니다.

예를 들어, "string".substring(0), "string".toString() 또는 new StringBuilder().toString().substring(1,3)과 같은 코드에서 이러한 메서드 호출은 안전하게 제거할 수 있습니다.

예:


  System.out.println(new String("message"));

빠른 수정을 적용한 후:


  System.out.println("message");

빠른 수정은 불필요한 생성자 호출을 제거하며 이는 String 참조의 상등성에 영향을 줄 수 있습니다. 바람직하지 않은 방법이라고 할지라도 이것을 유지할 필요가 있는 경우에는 경고를 억제하거나 검사 설정으로 불필요한 String 생성자 호출을 무시하세요.

위의 예시와 같은 코드를 보고하지 않으려면 아래의 String 생성자 호출을 보고 안 함 옵션을 사용하세요. 이렇게 하면 코드에서 다른 객체 ID를 보장하기 위하여 new String() 호출을 사용하는 빠른 수정을 적용한 후에도 == 또는 !=를 사용한 String 비교 결과가 바뀌는 것을 방지할 수 있습니다.

다음과 같은 코드를 보고하지 않으려면, 아래의 인수가 1개인 substring() 호출은 보고 안 함 옵션을 사용하세요.


  stringBuilder.append(string.substring(5));

이는 다음으로 바꿀 수 있습니다.


  stringBuilder.append(string, 5, string.length());

2018.1의 새로운 기능