ich den Benutzer zwingen, wollen in einem optionalen Parameter zu füllen, wenn mein Konstruktor aufrufen:Nizza Art und Weise Benutzer füllen zu zwingen varargs Parameter in Java
public MyClass(String... params) {
this.params = params;
}
Derzeit ist der folgende Code ist gültig:
new MyClass();
Ich möchte es verhindern. Ich dachte an diese:
public MyClass(String param1, String... otherParams) {
this.params = new String[1 + otherParams.length];
this.params[0] = param1;
// fill 1..N params from otherParams
}
String[] params
ist keine Option, weil ich die Fähigkeit benötigen Komma getrennt args zu verwenden.
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.
otherParams null sein könnte, wenn jemand'New MyClass („a“, null) schreibt ' – wero
Könnten Sie nur eine Ausnahme aus, wenn die Anzahl der Argumente Sie erwarten, ist nicht da? – Pherion
Vielleicht prüfen [http://stackoverflow.com/questions/12751746/requiring-at-least-one-element-in-java-variable-argument-list) Lösung? – SomeJavaGuy