Collection 변수의 선언을 보고합니다. 변수 타입 약화로 컴파일 오류가 발생하면 경고가 표시되지 않습니다.
예:
// 경고: 구체 컬렉션 클래스 ArrayList가 사용되어 있습니다.
int getTotalLength(ArrayList<String> list) {
return list.stream().mapToInt(String::length).sum();
}
// trimToSize() 메서드를 List 인터페이스에서
// 사용할 수 없으므로 경고가 없습니다
void addData(ArrayList<String> data) {
data.add("Hello");
data.add("World");
data.trimToSize();
}
빠른 수정은 적절한 컬렉션 인터페이스를 사용하도록 제안합니다(예: Collection, Set 또는 List).