我需要一个来自数组的EnumSet
(它是通过varargs方法参数给出的)。首先,我很惊讶在EnumSet
中没有EnumSet#of(E first, E... rest)
构造函数方法(有varargs )。作为一种解决方法,我使用了以下变体:
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);
当然,这可以转移到一些实用方法,但我仍然在问自己,是否有更简单的方法使用现有的方法?
https://stackoverflow.com/questions/22886287
复制相似问题