枚举从数组,最短的变体?
2022-09-01 01:59:50
我需要一个来自数组(通过varargs方法参数给出)。首先,我很惊讶(有)。)中没有 varargs 构造函数方法。作为解决方法,我使用以下变体:EnumSet
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);
当然,这可以转移到一些实用方法,但仍然,我问自己是否有一种更简单的方法使用现有方法?