我需要一个EnumSet
来自数组的(通过 varargs 方法参数给出)。EnumSet
首先,令我惊讶的是(有)中没有可变参数构造函数方法EnumSet#of(E first, E... rest)
。作为一种解决方法,我使用了以下变体:
EnumSet<Options> temp = EnumSet.copyOf(Arrays.asList(options));
但是,这会触发java.lang.IllegalArgumentException: Collection is empty
. 所以,现在我得到了以下结果,这看起来有点荒谬:
EnumSet<Options> temp = options.length > 0 ?
EnumSet.copyOf(Arrays.asList(options)) :
EnumSet.noneOf(Options.class);
如果当然可以将其移至某些实用方法,但是,我仍然在问自己是否有使用现有方法的更简单方法?