gpt4 book ai didi

java - Java Enum 与 C++ 和其他传统 Enum 有何不同?

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

我们从 java 1.5 获得的枚举与 C++ 和其他常规枚举类型有何不同。

最佳答案

在 Java 中,枚举是复杂的对象,而在 C++ 中,每个枚举对象都与一个整数值相关联。在 Java 中,您可以将多个属性与单个枚举值相关联:

enum MyCategory {
SPORT("The sport category", "sport.png"),
NEWS("the news category", "news.jpg");

private String description;
private String iconPath;

private MyCategory(String description, String iconPath) {
this.description = description;
this.iconPath = iconPath;
}

public String getDescription() {
return description;
}

public String getIconPath() {
return iconPath;
}
}

此外,在 Java 中,您只能切换 数字类型、字符串和枚举。但是我不能将常规枚举概括为一个整体......

编辑 java 枚举可以做的另一件事是声明每值操作(取自 java tutorial ):

public enum Operation {
PLUS { double eval(double x, double y) { return x + y; } },
MINUS { double eval(double x, double y) { return x - y; } },
TIMES { double eval(double x, double y) { return x * y; } },
DIVIDE { double eval(double x, double y) { return x / y; } };

// Do arithmetic op represented by this constant
abstract double eval(double x, double y);
}

关于java - Java Enum 与 C++ 和其他传统 Enum 有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9289623/

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