Obwohl es nur selten vorkommt, brauche ich manchmal zwei Konstruktoren mit den gleichen Parametertypen, natürlich mit unterschiedlichen Rollen für jeden Konstruktor. Hier ist ein Beispiel:
public class MyClass {
public MyClass(String title, String content) {
// ...
}
public MyClass(String title, String link) {
// ...
}
}
Ich wäre interessiert zu wissen, was ihr in diesem Fall macht?
-
Vertauschen Sie die Reihenfolge der Parameter für einen Konstruktor, wenn möglich (nun, nicht in meinem Beispiel)
-
Geben Sie auf und rufen Sie nach dem Konstruktor einen Setter auf
-
Es ist noch nie passiert, da es durch Design gelöst werden sollte, wie Polymorphismus/Vererbung
-
Verwenden Sie ein Designmuster
-
Fügen Sie einen Dummy-Parameter hinzu, um sie eindeutig zu machen (echt?)
-
...
EDIT: Notiz an mich selbst: Ich habe gerade eine schreckliche Sache in java.util.HashSet
gefunden: (ziemlich überraschend für eine JDK-Klasse, auch wenn sie paketprivat ist)
/* ......
* @param dummy Ignored (distinguishes this constructor from other int, float constructor.)
* ......
*/
HashSet(int initialCapacity, float loadFactor, boolean dummy) {
...
}