什么是C#的Java等价物:
enum Foo
{
Bar = 0,
Baz = 1,
Fii = 10,
}
如果需要属性,则enum
需要这样定义:
public enum Foo {
BAR (0),
BAZ (1),
FII (10);
private final int index;
Foo(int index) {
this.index = index;
}
public int index() {
return index;
}
}
您可以这样使用它:
public static void main(String[] args) {
for (Foo f : Foo.values()) {
System.out.printf("%s has index %d%n", f, f.index());
}
}
要意识到的是,这enum
只是创建类的捷径,因此您可以向该类添加所需的任何属性和方法。
如果您不想在自己的方法上定义任何方法,则enum
可以更改成员变量的范围并进行设置public
,但这不是它们在Sun网站上的示例中所做的。
问题内容: 基本上,我所做的是为州写一个枚举,我不仅希望能够像州一样访问它们,而且还希望访问它们的缩写以及它们是否是原始殖民地。 这似乎按我预期的那样工作。我可以 对于涉及枚举的特定情况,这是执行此操作的最佳方法,还是设置和格式化此枚举的更好方法?预先感谢所有人! 问题答案: 首先,枚举方法不应大写。它们是与其他方法一样的方法,具有相同的命名约定。 其次,您所做的并不是建立枚举的最佳方法。不要为每
我正在使用SpringBoot和JPA。 在我的实体中,我有一个映射为枚举的状态字段。我想将e特定枚举值映射为null。
问题内容: 我在声明枚举时遇到麻烦。我要创建的是一个“ DownloadType”的枚举,其中有3种下载类型(AUDIO,VIDEO,AUDIO_AND_VIDEO)。 我已经实现了如下代码: 如果我再像这样使用它,则效果很好: 但是,我希望这样,所以我不必要求“值”。我可能会弄错,但这是Java中几个类(例如Font)工作的方式,例如,设置字体样式,您可以使用: 它返回一个int值,我们不使用:
问题内容: 假设我有一个包含100个值的枚举。为了简单起见,请采用以下示例: 我想创建一个公共方法,以将具有已知格式(例如“ string1”,“ string2” …)的字符串转换为适当的枚举值CODE_1,CODE_2 …通常是通过遍历所有值来完成的,如果找到匹配项,返回该枚举值。 但是,我担心规则循环遍历所有值。这可能是一个巨大的瓶颈吗?如果不是100个元素而是1000个呢? 作为我自己的练
问题内容: 我正在使用此代码来检查数组是否存在: 但这印出来。如何检查数组中是否存在? 问题答案: 问题是因为两者不相等。 和其他Java Collections Framework类根据定义了其接口。来自: Collections Framework接口中的许多方法都是根据方法定义的。例如,该方法的规范说:“ 当且仅当此映射包含诸如这样的键的映射时,才返回。” 注意,它们不必是同一对象。他们一定