ProjectAres/Util/core/src/main/java/tc/oc/commons/core/util/EnumSets.java

22 lines
644 B
Java

package tc.oc.commons.core.util;
import java.util.Collection;
import java.util.EnumSet;
public final class EnumSets {
private EnumSets() {}
/**
* Create a new {@link EnumSet} of the given type, copying the initial
* contents from the given set.
*
* Unlike {@link EnumSet#copyOf(Collection)}, this method always works,
* even if the given set is empty, and is not another {@link EnumSet}.
*/
public static <E extends Enum<E>> EnumSet<E> copySet(Class<E> type, Collection<E> contents) {
final EnumSet<E> copy = EnumSet.noneOf(type);
copy.addAll(contents);
return copy;
}
}