티스토리 뷰

IT/JAVA 및 Spring

[Java] Generic - Unbounded WildCard(비한정적 와일드카드 타입)

주인장 진빼이

설명

자바 제네릭 표현법 중 하나이다. (Unbounded WildCard는 비한정적 와일드카드 타입이라 불린다)

? 는 어떤 Reference 타입이든 올 수 있다고 생각하면 편하다.

단, 기본 타입 중엔 Object를 상속받은 wrapper class type만 가능하며, primitive type은 불가능하다.

 

제네릭 타입을 받을 때 상한선 또는 하한선을 제한하기 위해 사용된다.

 

정확한 의미

1. <? extends Object>와 동일 (Object 타입을 포함 및 Object 하위 타입을 받을 수 있음) - exntends는 상한선을 의미

2. Java 최상위 객체인 Object를 하위로 하는 클래스를 전부 받겠다는 의미 (모든 선언된 객체를 의미)

 

예시:

public static void printAll(List<?> list) { // List<?> 사용
    for (Object item : list)
        System.out.println(item + " ");
}

public static void main(String args[]) {
    List<Integer> integerList = Arrays.asList(1, 2, 3);
    printAll(integerList);
    List<Object> doubleList = Arrays.asList(5.1, 5.2, 5.3);
    printAll(doubleList);
}

참고 그림:

댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
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
글 보관함