다양한 타입의 객체를 다루는 메서드, 컬렉션 클래스에서 컴파일 시에 파일 체크
표현
type parameter의 제한
class cal<T extends Number>{
//구현
}
표현 | 설명 |
---|---|
Generic type<?> | 타입에 제한이 없음 |
Generic type<? extends T> | T또는 T를 상속받은 타입들만 사용 가능 |
Generic type<? super T> | T또는 T의 조상 타입만 사용 가능 |
public class Test<T>{
T some;
public Test(T some){
this.some = some;
}
public <P> void method1(P p){
}
public <P> P method2 (P p){
}
public static void main(String[] args){
Test<String> tmp = new Test<>("test");
tmp.method1(10);
tmp.<Long>method2(20L);
}
}