:제네릭 형식 매개 변수를 여기에서 생략해도되는 이유는 무엇입니까? 다음 코드에서
public class IDMapBase<T> extends HashMap<DeviceID, T> {
public Map<DeviceID, T> filterMap(Set<DeviceID> neededIDs) {
return entrySet().stream()
.filter(e -> neededIDs.contains(e.getKey()))
.collect(Collectors.toMap(Entry::getKey, Entry::getValue));
}
}
왜 OK 단순히 Entry::getXX
대신 Entry<DeviceID, T>>::getXX
말을? 나는 (Map.)Entry
가 Map<DeviceID, T>
의 항목으로 사용할 수 없습니다하는 Entry<Object, Object>
기본값 것이라고 생각했다.
귀하의 의견은'지도'콘크리트 형''그 방법 참조의 소유자 구성 요소가 자주 당신을위한 컴파일러에 의해 유추 할 수 있습니다에 대한 귀하의 항목도 유형'의 Map.Entry ' –
유형 매개 변수가 이유지만을 가지고 있기 때문에 그것들을 명시 적으로 넣을 수 있습니다. –
컴파일러는 이러한 것을 당신을 위해 추론합니다. 그게 그 직업입니다. –