Warum gibt es in EnumSet viele überladene Methoden?

Während derEnumSet<E> of Methode, ich habe mehrere überladene Implementierungen von @ gesehof Methode

public static <E extends Enum<E>> EnumSet<E> of(E e)

public static <E extends Enum<E>> EnumSet<E> of(E e1, E e2)

.
.

public static <E extends Enum<E>> EnumSet<E> of(E e1, E e2, E e3, E e4, E e5)

und dann noch eine überladene Methode mitvarargs

public static <E extends Enum<E>> EnumSet<E> of(E first, E... rest) {
    EnumSet<E> result = noneOf(first.getDeclaringClass());
    result.add(first);
    for (E e : rest)
        result.add(e);
    return result;
}

Wenn diese Variablen die anderen Implementierungen hätten handhaben können, warum ist diese Methode auf diese Weise überladen? Gibt es einen bestimmten Grund dafür?

Ich war durch den Javadoc des gleichen gegangen, aber ich konnte keine überzeugende Erklärung finden.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage