我有一个类,它有多个构造函数。每个构造函数代表不同的使用场景。
public class ABC {
public ABC(int x) {
...
}
public ABC(ArrayList<String> Stringarray) {
...
}
..many more constructors..
}
在遇到 Java 编译器的相同擦除问题之前,构造函数重载一直是一个很好的解决方案。例如,我想添加另一个构造函数,最终会有相同的擦除问题,因此我选择了暂时使用默认参数来解决问题,如下所示:
public ABC(ArrayList<String> stringArray) {
…
}
public ABC(ArrayList<Integer> integerArray, boolean… sameErasureFlag) {
…
}
但我强烈感觉,可能有太多的构造函数并不是这种情况的好设计模式。也许有更好的解决方案或最佳实践设计模式可用于这种情况。我正在查阅建造者模式,但不确定它是否正确/更好。有什么推荐吗?