하나의 특정하게 IntelliJ IDEA 검사를 구성 컴파일 있으며, java.util.regex.Pattern에 의해 대체 될 수 ') (대체'제안IntelliJ에 내가 코드가 같이있을 때 트리거됩니다
'replace()'는 컴파일 된 java.util.regex.Pattern 구조로 대체 될 수 있습니다.
그런 다음 코드를 리팩토링하여 나를위한 코드를 제공하므로 상수 리터럴 패턴이 사용됩니다.
이 검사는 주로 내가 실제로 정규식을 만드는 경우에 사용하도록 설정되어 있습니다. IntelliJ의 제안에 따라 성능을 향상시킬 수도 있습니다. 그러나 String.replace()
의 경우 인수는 정규식이 아닙니다. 이 경우 IntelliJ의 제안에 따라 성능이 전혀 향상되지 않으며 가독성이 손상 될 수 있습니다.
String.replace()
의 경우 사용을 중지 할 수 있지만 String.replaceAll()
및 String.replaceFirst()
의 경우 계속 사용 가능합니까? 나는 그런 선택을 보지 못했습니다.
'String.replace (String, String)'의 구현을 보면, 왜 명시 적으로'Pattern'을 사용하여 추천하는지 알 수 있습니다;) –
@OliverCharlesworth 저를 때려 눕히세요. 'Return Pattern.compile (target.toString(), Pattern.LITERAL) .matcher (...' – jensgram