이제 Generic에 대해 배우기 시작했습니다. 여기 전역 obj 값으로 전역 obj 값을 설정하려고합니다. 형식 변환 오류가 발생했습니다.이 오류의 원인은 무엇입니까? 여기 일반 형식 변환 오류
class GenUpperBound<T>
{
T obj;
public <T extends Number> void set(T obj)
{
this.obj=obj;
}
public static void main(String...q)
{
GenUpperBound<Integer> w=new GenUpperBound<>();
w.set(10);
}
}
당신은
class GenUpperBound<T extends Number>
처럼 클래스를 선언해야 오류 ....
GenupperBound.java:6: error: incompatible types: T#1 cannot be converted to T#2
this.obj=obj;
^
where T#1,T#2 are type-variables:
T#1 extends Number declared in method <T#1>set(T#1)
T#2 extends Object declared in class GenUpperBound
1 error