voglio obbligare l'utente a compilare un parametro opzionale quando si chiama il mio costruttore:Bel modo di forzare riempimento utente varargs parametro in Java
public MyClass(String... params) {
this.params = params;
}
Attualmente, il seguente codice è valido:
new MyClass();
Voglio impedirlo. Ho pensato a questo:
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
non è un'opzione, perché ho bisogno la possibilità di utilizzare virgola args separati.
Ci sono buone soluzioni per raggiungere questo obiettivo? Si prega di non dire che i parametri varargs devono essere opzionali. La domanda non è su questo.
otherParams potrebbe essere nullo se qualcuno scrive'new MyClass ("a", null) ' – wero
Potresti un'eccezione se il numero di argomenti ti aspetti che non ci sia? – Pherion
Forse controllare [questo] (http://stackoverflow.com/questions/12751746/requiring-at-least-one-element-in-java-variable-argument-list) soluzione? – SomeJavaGuy