在Java中动态扩展的通用类(Extend a generic class dynamically

2019-11-02 04:35发布

我需要在运行时类与一般的签名扩展。

例如,要扩展的类是:

public class A<T> {}

我需要动态地得到这样的:

public class B extends A<String> {}

因为我需要得到的类添加到我的ClassLoader不能使用代理服务器。 我用Javassist想,但我不知道该怎样以正确的方式使它的想法。

Answer 1:

如果你只知道在运行时类型,那么你将不得不使用铸造。 喜欢:

 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;
        ...
        }
        }
        }


文章来源: Extend a generic class dynamically in Java