Ich versuche, einen Konstruktor zu einem Groovy-Klasse hinzuzufügen, aber ein zweites Verfahren als Konstruktor Hinzufügen i einen Compiler-Fehler bin immer ..Groovy Konstruktor Fehler kompilieren geben ‚aufgrund Hash-Kollision“ in Konstrukteuren
Unfähig Klasse zu kompilieren ... durch Hash-Kollision in Konstrukteuren
class BaseException extends RuntimeException {
private Integer status
private String message
private Long timestap
private List<ErrorMessage> errors
BaseException(Integer status, String message, List<ErrorMessage> errorMessageList) {
this.status = status
this.message = message
this.timestap = System.currentTimeMillis();
this.errors = errorMessageList
}
// ---
// adding the method below gives a compile error
// ---
BaseException(Integer status, String message, List<ErrorCode> errorCodeList) {
this.status = status
this.message = message
this.timestap = System.currentTimeMillis();
this.errors = []
errorCodeList.each { error ->
this.errors.add(new ErrorMessage(error.code, error.description))
}
}
.. code emitted
}
Jeder Hinweis, was ich falsch mache?
Sie nicht zwei Konstruktoren oder Methoden mit derselben Signatur haben kann, wenn Generika wegen Löschung entfernt. Gleiches gilt für Java. Wenn Sie das wirklich benötigen, ist es üblich, zwei statische Factory-Methoden mit unterschiedlichen Namen und einen weniger zugänglichen Konstruktor zu verwenden, der beide Fälle behandelt. –
Sie sollten diesen Kommentar in eine Antwort einfügen. –
@DavidM.Karr fertig ... Ich werde ein Beispiel finden, wenn ich an einen Computer komme ;-) Telefone sind Quatsch zum Schreiben von Code –