デフォルトのコンストラクタである MyClass() を使用して、クラス MyClass で多くのテストケースを実行しました。
MyClass の要件が変更され、ユーザーは HashMap を提供していくつかのペアを示すことができるようになりました。MyClass は少なくとも 1 つのペアを持つ必要があり、そのうちの 1 つが null の場合は例外をスローします。
すべてのテスト メソッドを次のように書き直す必要がないように、別のデフォルト コンストラクタを作成したいと考えていました。
public MyClass() {
HashMap<KeyClass, ValueClass> hashMap = HashMap<KeyClass, ValueClass>();
hashMap.put(KeyClass.someValue, new ValueClass());
this(hashMap);
}
最初に他のコンストラクターを呼び出す必要があるため、これは機能しません。そのため、いくつかのメソッドを作成することを考えました
private static HashMap<KeyClass, ValueClass> getDefaultHashmap();
それを使用して、次のように他のコンストラクターを呼び出します。
public MyClass() {
this(MyClass.getDefaultHashmap());
}
しかし、これはあまり良いスタイルではないように思えたので、このようなことを行う正しい方法を教えていただければ幸いです。