티스토리 뷰
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
'Java' 카테고리의 다른 글
| lombok.Builder 로 빌더 패턴 사용한 클래스의 필드를 초기화하고 싶다면 (0) | 2021.12.22 |
|---|---|
| Effective Java - Generic (Item 26 ~ 33) (0) | 2021.11.06 |
| static method 는 언제 써야할까 (0) | 2020.09.29 |
| Refactoring 참고 링크 모음 (0) | 2020.09.09 |
| 의존성 주입 Dependency Injection (0) | 2020.08.27 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- TroubleShooting
- 암호화
- ruby
- 실용주의
- Encoding
- fetchResults
- ActiveAdmin
- querydsl
- gitignore
- Lombok
- Spring-Boot
- sort algorithm
- annotation
- point
- 이펙티브자바
- SQL 전문가 가이드
- Git
- ASCII
- 이벤트스토밍
- SHA
- IntelliJ
- 메모리 릭
- WebClient
- DesignSystem
- aws
- 사고..
- Java
- effective-java
- 코테 log
- Generic
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
글 보관함