다음과 같은 유형을 안전하게 구현할 수있는 방법이 있습니까?Java Generics가 Map <String,?을 (를) 사용하고 있습니다. extend List <String>>
public void myMethod(Map<String, ? extends List<String>> map)
{
map.put("foo", Collections.singletonList("bar");
}
위의 구현은 작동하지 않습니다. map.put()
메서드를 올바르게 컴파일하려면 Map<String, ? super List<String>>
이 필요합니다. 그러나 myMethod는 이런 방식으로 List의 하위 유형을 허용하지 않습니다. 그래서 대신 Map<String, ? extends List<String>>
을 사용해야합니다. 유형 안전 방식으로이 문제를 어떻게 해결할 수 있습니까?
+1 좋은 설명을 위해 (이제 제네릭이 표시됨 : P). –
죄송합니다. 나는 SOF가 어쨌든 텍스트를 필터하기 때문에 각진 브래킷을 고쳤다 고 생각한다. 오 잘 ... – KitsuneYMG