Ich möchte den Benutzer zwingen, beim Aufruf meines Konstruktors einen optionalen Parameter einzugeben:
%Vor%Derzeit ist der folgende Code gültig:
%Vor%Ich möchte es verhindern. Ich dachte daran:
%Vor% String[] params
ist keine Option, weil ich Komma-getrennte Argumente verwenden muss.
Gibt es irgendwelche schönen Lösungen, um dies zu erreichen? Bitte sagen Sie nicht, dass Varargs Parameter optional sein müssen. Die Frage ist nicht darüber.
Vielleicht der folgende, ein zusätzlicher Standardkonstruktor?
%Vor%Nein, es gibt keine andere Möglichkeit, dies zur Kompilierzeit durchzuführen. Was Sie gefunden haben, ist das übliche Muster, das den Clientcode zwingt, mindestens einen Parameter zu übergeben.
Sie können es so lesen:
%Vor%und
%Vor%Wenn Sie es zur Kompilierzeit machen wollen, müssen Sie es so machen, wie Sie es in Ihrem letzten Codebeispiel vorgeschlagen haben.
Dann können Sie ApacheCommons verwenden - ArrayUtils Klasse:
%Vor%Tags und Links java variadic-functions