gpt4 book ai didi

java - 创建通用类型的枚举集

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:42:01 26 4
gpt4 key购买 nike

如何创建一个空的 EnumSet当我没有通用枚举的运行时类型时?示例代码:

public class Utility<T extends Enum<T>> {
private T[] enumConstants;
public Utility(Class<T> e) {
enumConstants = e.getEnumConstants();
}
private EnumSet<T> emptyEnumSet() {
// ?
}
}

这是我目前的解决方法,我认为它有点笨拙:

private EnumSet<T> emptyEnumSet() {
T first = enumConstants[0];
EnumSet<T> result = EnumSet.of(first);
result.remove(first);
return result;
}

最佳答案

EnumSet.noneOf()应该做你需要的。您的代码收到 Class<T>作为构造函数参数,因此您需要将其存储在一个字段中。

关于java - 创建通用类型的枚举集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35009430/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com