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);
}
}
при запуске выводится следующее:
class java.lang.Integer
class java.lang.String
Как A
может иметь тип Integer
, если он уже ограничен сверху до String
?
Пожалуйста, объясните мне это.
T
вObject
иA
вInteger
, проблем не возникает. - person daniu   schedule 25.09.2017