我有一个有多个构造函数的类。每个代表不同的用例。
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) {
…
}
但是我有一种强烈的感觉,可能有这么多的构造函数对于这个用例来说不是一个好的设计模式。也许有一个更好的解决方案或最佳实践设计模式用于这种场景。我正在查找构建器模式,但不确定这是否正确/更好。有什么建议吗?