티스토리 뷰

Java

Generic

토마토계란 2020. 10. 22. 23:48

Generic method

 

public <T, R> T method1 (T t){}

Integer i = <String, Integer>method1(new Integer(1));

 

제한된 타입 파라미터 <T extends R>

public <T extends Number> int method2 (T t1, T t2){}

 

T Number 하위 클래스 타입까지만 가능하다.

R 표시된 상위 클래스가 되는데 인터페이스도 가능하다.

 

제한된 타입 파라미터 <T super R>

public <T super R> int method3 (T t1, T t2){}

 

<T extends R> 반대로 하위 클래스 타입을 제한한다.

 

와일드카드 타입 <?> <? extends …> <? super …>

 ? 제한 없음을 의미한다.

public static void main (String... args){
	List<Integer> list = new ArrayList<>();
    print(list);
}

public static void print(List<?> list){
	for(Object obj : list)
    	System.out.println(obj);
}

 

 

medium.com/@joongwon/java-java%EC%9D%98-generics-604b562530b3

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/12   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함