【问题标题】:Something like "typedef" for Java's EnumSet [duplicate]Java的EnumSet的“typedef”之类的东西[重复]
【发布时间】:2013-07-19 12:35:02
【问题描述】:

我在多个地方使用EnumSet<Foo>。我想创建一个EnumSetFoo 类,这样我就可以做EnumSetFoo xyz = EnumSet.of(Foo.BAR),但是子类化EnumSet 似乎不是要走的路。有没有办法在Java中实现这种效果?

【问题讨论】:

标签: java enums


【解决方案1】:

Java 没有 typedef,但 EnumSet.of() 返回一个类型化的 EnumSet,您应该不需要更多。

您不需要 将其转换为任何东西以使用返回的内容:

 EnumSst<Foo> e = EnumSet.of(Foo.BAR);

如果您真的想使用自己的类,请提供适当的构造函数并将上述内容传递给它,或者将枚举的实例传递给类型化的可变参数构造函数:

public class EnumSetFoo extends EnumSet<Foo> {
    public EnumSetFoo(Foo... foos) {
        addAll(Arrays.asList(foos));
    }
}

或其他。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-04
    • 2013-01-26
    • 2020-01-10
    • 2016-12-21
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 2011-11-28
    相关资源
    最近更新 更多