[Effective Java] 바운드 와일드 카드를 사용해서 API 의 유연성을 높이자. [Effective Java] 바운드 와일드 카드를 사용해서 API 의 유연성을 높이자. - 매개변수화 타입은 불변(invariant) 이다. 서로 다른 두 개의 타입 Type1, Type2 에 대해 List, List 는 서브 타입도 수퍼 타입도 아니다. - 매개변수화 타입은 불변이기 때문에, 바운드 와일드 카드 타입(bounded wildcard type)을 사용해야 유연성이 좋다. 예) -> 를 사용하였기에 null 이외에는 put 을 할 수 없다. 이 경우 1번의 방법을 helper 로 갖는 function 을 하나 더 가져야 한다. 하지만, public 하게는 raw type 도 받을 수 있어 유연성은 더 좋다. Summary 메소드 API에 와일드 카드 타입을 사용하면 코드 작성이 조금 어려워.. 2016. 12. 5. [Java] Generic explicit type parameter 이야기 [Java] Generic explicit type parameter 이야기 참조 : http://shanhe.me/2011/09/11/explicit-type-parameters-for-generic-methods 참조 : http://docs.oracle.com/javase/tutorial/java/generics/genTypeInference.html - 자바 7, 8 로 version up 이 되면서 조금 더 강화된 compiler 로 type inference 도 강화되어 explicit type parameter 를 지정할 일이 거의 없다. -public static Map toHashMap(Map map) {return new HashMap(null == map ? Collections.em.. 2016. 10. 18. 반응형 이전 1 다음