0

我需要在运行时扩展一个具有通用签名的类。

例如,要扩展的类是:

public class A<T> {}

我需要动态地得到这个:

public class B extends A<String> {}

我无法使用 Proxy,因为我需要将获得的类添加到 ClassLoader。我正在尝试使用 javassist,但我不知道如何以正确的方式制作它。

4

1 回答 1

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;
        ...
        }
        }
        }
于 2013-06-03T10:34:18.300 回答