私は自分のコードを整理しようとしています。私は自分のコードを整理しようとしています。
これらはすべてオプションですが失敗する可能性がありますが、そのうちの1つが成功する必要があります。
これらのクラスはすべて、Hookというインターフェースを実装しています。配列/コレクションの各インデックスで別のオブジェクトのコンストラクタを呼び出す
各初期化はHashMapのに入れて、ここでの例です:
HashMap<String, Hook> hooks = new HashMap<>();
String key = "Fish";
if (isEnabled(key)) {
try {
hooks.put(key, new FishStoreHook());
} catch {
logError(key);
}
}
しかし、今、私はパンと言う、のためのもう一つ持っている必要があります:
key = "Bread";
if (isEnabled(key)) {
try {
hooks.put(key, new BreadStoreHook());
} catch {
logError(key);
}
}
配置する方法はありますが配列やコレクションの中の何かを使って、それぞれのステートメントでaを使って呼び出すことができますか?
(なぜなら、それらのメソッドはそれぞれのHashMap.keySet()に対して実行され、起こりうるエラーを記録する必要があるからです)
ありがとうございます!
反射が完璧に働いてくれてありがとう! :) コードを150行から17に減らしました。 私のコンストラクタは引数を持っていましたが、私はそれを実行することができました 'clazz.getConstructor(Plan.class).newInstance(this)' –