0

ジェネリック シグネチャを持つクラスを実行時に拡張する必要があります。

たとえば、拡張するクラスは次のとおりです。

public class A<T> {}

これを動的に取得する必要があります:

public class B extends A<String> {}

取得したクラスを ClassLoader に追加する必要があるため、Proxy を使用できません。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 に答える