みなさん、こんにちは:)クラスで正しいコンストラクターを選択しようとしています。コードは次のとおりです。
Constructor[] constructors = targetClass.getConstructors();
Constructor goodConstructor = null;
for (Constructor constructor : constructors) {
Class[] parameterTypes = constructor.getParameterTypes();
if (parameterTypes.length = 1 && parameterTypes[0].equals(Map.class)) {//here
goodConstructor = constructor;
}
}
Map.class
からに切り替えたいMap<String, String>.class
。ジェネリックはコンパイル時のみのものであることを漠然と覚えているので、コンパイラが文句を言っているのはそのためです。クラスに適切なコンストラクターがあることを実行時に確認するにはどうすればよいですか?
よろしくお願いします