익명 내부 클래스를 만들어 ThreadLocal
인스턴스를 초기화하는 것의 대안으로, Java 8부터 ThreadLocal.withInitial
이라는 것이 소개됐습니다.
이 규칙은 ThreadLocal
익명 내부 클래스가 ThreadLocal.withInitial
으로 대체될 수 있을 때 알람을 울립니다.
규칙을 어긴 코드
ThreadLocal<List<String>> myThreadLocal =
new ThreadLocal<List<String>>() { // 규칙을 어긴 코드
@Override
protected List<String> initialValue() {
return new ArrayList<String>();
}
};
규칙을 준수한 해결책
ThreadLocal<List<String>> myThreadLocal = ThreadLocal.withInitial(ArrayList::new);
If you like SONARKUBE, don’t forget to give me a star.