Ich brauche ein EnumSet
von einem Array (das durch einen varargs Methodenparameter gegeben ist). Zuerst war ich überrascht, dass es keine Varargs-Konstruktormethode in EnumSet
gibt (es gibt EnumSet#of(E first, E... rest)
). Als Abhilfe kann, habe ich die folgende Variante:EnumSet aus Array, kürzeste Variante?
EnumSet<Options> temp = EnumSet.copyOf(Arrays.asList(options));
Dies ist jedoch ein java.lang.IllegalArgumentException: Collection is empty
auslöst. So, jetzt habe ich am Ende der folgenden auf, die etwas lächerlich aussieht:
EnumSet<Options> temp = options.length > 0 ?
EnumSet.copyOf(Arrays.asList(options)) :
EnumSet.noneOf(Options.class);
Wenn natürlich diese zu einem gewissen Nutzen Methode bewegt werden konnten, aber immer noch, ich frage mich, ob es eine einfachere Möglichkeit ist es, bestehende Methoden ?
Dies bezieht sich nicht auf den Fall, in dem das Feld leer ist. –