class ClassExt { | |
/** @noinspection UnusedDeclaration*/ | |
public static <T, P1, P2> T newInstance(Class<T> clazz, | |
Class<? super P1> t1, P1 p1, | |
Class<? super P2> t2, P2 p2) { | |
return null; | |
} | |
} | |
abstract class TKey<T> { | |
protected abstract Class<T> getType(); | |
} | |
class GoodIsRed6 { | |
public static <TK extends TKey<?>> TK createClone(TK tkey, String key) { | |
Class<TK> clazz = null; | |
return ClassExt.newInstance(clazz, String.class, key, Class.class, tkey.getType()); | |
} | |
} |