Class clazz = parameter.getParameterType();
这里我有clazz
,我确定这是Optional<T>
类型类。问题是如何才能获得此T
?我想知道这是String
或Long
还是Integer
或运行时中的某些内容。
public String abc(Optional<String> ttt, Optional<Integer> bbb) {
return;
}
所以现在我有了ttt和bbb的类,我确信这是Optional<T>.class
,但我可以得到那个T
。
答案 0 :(得分:4)
你不能。在运行时,Java甚至不知道实际的泛型类型。
如果Optional
存在,您可以执行optional.get().getClass()
,但如果缺少可选项,则绝对无法判断它是Optional<String>
,Optional<Integer>
,或Optional<NuclearMissile>
。