3시간동안 해맸는데 답이 안나와서 물어볼게
Map<Foo<?>, List<Bar<?>>>
이런 타입의 변수를 만들고 싶은데
이 때 한쌍의 Entry(Pair) 사이에는 같은 제네릭을 보장하고 싶어
Foo<String>이면 List<Bar<String>>을 저장하고
Foo<Integer>면 List<Bar<Integer>>를 저장하는 방식이야
또한 get으로 읽었을 때도 키값으로 준 제네릭에따라
리턴값 타입이 ?이 아니라 그 제네릭 타입인 걸 보장하고 싶어
어떻게 해야할까???
그게 제네릭 만으로는 가능한가 if문으로 검사해야 하지 않나
물음표를 쓰지마
<, > 사이의 제네릭 문자를 같은걸로 맞추고 메서드 반환형도 그렇게 맞추셈
<T> createMap(T t) { return new HashMap<Foo<T>, List<Bar<T>>>(); }