我需要在运行时扩展一个带有通用签名的类。
例如,要扩展的类是:
public class A<T> {}
我需要动态地获取它:
public class B extends A<String> {}
我不能使用Proxy因为我需要将获得的类添加到ClassLoader中。我尝试使用javassist,但我不知道如何以正确的方式使用它。
答案 0 :(得分:0)
如果仅在运行时知道类型,则必须使用强制转换。 像:
class TokenCounterMapper
extends Mapper<Object, Object, Object, Object>{
public void map(Object key, Object value, Context context){
if (value instanceOf String){
String castedString = (String)value;
...
}
}
}