我有一个标志告诉我要使用哪种类类型。应该使用静态方法来检索正确的类。需要类类型作为泛型方法的输入。
public class Config{
public static int flag = 1;
}
public interface A {
public abstract int getResult();
}
public class A1 implements A{
public int getResult{
// ...
}
}
public class A2 implements A{
public int getResult{
// ...
}
}
public class AType{
public static Class getType(){
switch (Config.flag) {
case 1:
return A1.class;
case 2:
return A2.class;
default:
return null;
}
}
“getType()”的返回类型错误。我已经尝试了一些通用的返回类型,但似乎它不能像检索类类型以供进一步使用一样工作......
任何想法如何根据配置标志返回不同的类类型?
我需要类类型(A1 或 A2)作为通用方法的输入,例如:
public static <T extends Message> T[] getArrayFromStream(DataInputStream in, Class<T> returnType)
throws IOException {
return getArrayFromStream(in, returnType, new Object[0]);
}