java中怎么定义枚举中的泛型类
  0piCg03t9xej 2023年12月04日 19 0

在Java中,我们可以使用泛型类来定义枚举。泛型类允许我们在定义类时指定一个或多个类型参数,从而实现对不同类型的支持。使用泛型类定义枚举可以帮助我们在枚举中使用不同类型的值,增加灵活性和可扩展性。

下面是一个示例,展示了如何在Java中定义一个使用泛型类的枚举:

// 使用泛型类定义枚举
enum Color<T> {
    RED("red", 1),
    GREEN("green", 2),
    BLUE("blue", 3);

    private String name;
    private T value;

    private Color(String name, T value) {
        this.name = name;
        this.value = value;
    }

    public String getName() {
        return name;
    }

    public T getValue() {
        return value;
    }
}

public class Main {
    public static void main(String[] args) {
        // 使用枚举
        Color<Integer> color1 = Color.RED;
        Color<String> color2 = Color.GREEN;

        System.out.println(color1.getName() + ": " + color1.getValue());
        System.out.println(color2.getName() + ": " + color2.getValue());
    }
}

在上面的示例中,我们定义了一个名为Color的枚举,使用了一个类型参数T。枚举常量RED、GREEN和BLUE都包含了一个name和一个value,其中value的类型由泛型参数T决定。我们还为枚举定义了构造方法和getter方法,用于获取name和value的值。

在Main类的main方法中,我们使用了Color枚举的两个不同实例color1和color2。color1的类型参数为Integer,color2的类型参数为String。通过调用枚举实例的getName和getValue方法,我们可以获取到枚举常量的name和value的值。最后,我们使用println方法将这些值打印出来。

下面是一个使用mermaid语法标识的序列图,展示了上面示例中涉及的对象之间的交互过程:

sequenceDiagram
    participant Main
    participant Color
    participant Color.RED
    participant Color.GREEN
    participant System.out

    Main->>Color.RED: new Color("red", 1)
    Main->>Color.GREEN: new Color("green", 2)
    Main->>System.out: "red: 1"
    Main->>System.out: "green: 2"

在上面的序列图中,Main类通过调用Color.RED和Color.GREEN的构造方法创建了两个枚举实例。然后,Main类通过调用System.out.println方法将枚举实例的name和value值打印出来。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月04日 0

暂无评论

推荐阅读
  anLrwkgbyYZS   2023年12月30日   13   0   0 i++iosi++ioscici
  anLrwkgbyYZS   2023年12月30日   14   0   0 ideciciMaxideMax
0piCg03t9xej