Atu*_*ul 11 java generics object upperbound type-variables
package org.my.java;
public class TestTypeVariable {
static <T,A extends T> void typeVarType(T t, A a){
System.out.println(a.getClass());
System.out.println(t.getClass());
}
public static void main(String[] s){
int i= 1;
typeVarType("string", i);
}
}
Run Code Online (Sandbox Code Playgroud)
运行时,以下是输出:
class java.lang.Integer
class java.lang.String
Run Code Online (Sandbox Code Playgroud)
如何才能A成为类型Integer时,它已经被上界来String?
请解释我.
Gho*_*ica 15
这里有两件事:
getClass()时的误解:在运行时发生,因此返回传递的对象的特定类 - 独立于编译器在编译时对泛型的看法.| 归档时间: |
|
| 查看次数: |
487 次 |
| 最近记录: |