我在 MyClass 类上运行了很多测试用例,使用它的默认构造函数:MyClass()。
现在 MyClass 的要求发生了变化,用户可以提供一个 HashMap 来指示一些对。现在 MyClass 需要至少有一对,如果其中一个为空,则抛出异常。
我希望创建另一个默认构造函数以避免重写所有测试方法,例如:
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());
}
但这在我看来不是很好的风格,所以我希望你能告诉我做这种事情的正确方法是什么!