複数のコンストラクタを持つクラスがあります。それぞれが異なるユースケースを表しています。
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) {
…
}
しかし、おそらく非常に多くのコンストラクターを使用することは、このユース ケースの適切な設計パターンではないのではないかと強く感じています。おそらく、そのようなシナリオに使用されるより良いソリューションまたはベスト プラクティスの設計パターンがあるでしょう。ビルダーパターンを調べていますが、それが正しいかどうかはわかりません。推奨事項はありますか?