我知道我在这里展示的内容很糟糕,但仍然 - 我需要这样做......我想检查给定方法中的泛型类。我尝试从这里使用 Guava 和描述:https ://code.google.com/p/guava-libraries/wiki/ReflectionExplained#Introduction 这是我拥有的东西,我不完全理解为什么它不起作用: ```
abstract static public class IKnowMyType<T> {
public TypeToken<T> type = new TypeToken<T>(getClass()) {};
}
protected <P> void abc(P el){
System.out.println(new IKnowMyType<P>(){}.type);
}
protected <P> void abc(){
System.out.println(new IKnowMyType<P>(){}.type);
}
void test(){
System.out.println(new IKnowMyType<String>(){}.type); // -> java.lang.String
this.abc("AA"); // -> P
this.<String>abc(); // -> P
}
我想得到的是P
(在这种情况下为字符串)而不是P
. 这个怎么做?为什么这些abc
方法不能按我的预期工作?