Storing integer values as constants in Enum manner in java(在java中以Enum方式将整数值存储为常量)
问题描述
我目前正在以下列方式创建整数常量.
I'm currently creating integer constants in the following manner.
public class Constants {
public static int SIGN_CREATE=0;
public static int SIGN_CREATE=1;
public static int HOME_SCREEN=2;
public static int REGISTER_SCREEN=3;
}
当我尝试以枚举方式执行此操作时
When i try to do this in enum manner
public enum PAGE{SIGN_CREATE,SIGN_CREATE,HOME_SCREEN,REGISTER_SCREEN}
当我使用 PAGE.SIGN_CREATE
它应该返回 1;
and When i used PAGE.SIGN_CREATE
it should return 1;
推荐答案
好吧,你不能那样做.PAGE.SIGN_CREATE
永远不会返回 1;它将返回 PAGE.SIGN_CREATE
.这就是枚举类型的意义所在.
Well, you can't quite do it that way. PAGE.SIGN_CREATE
will never return 1; it will return PAGE.SIGN_CREATE
. That's the point of enumerated types.
但是,如果您愿意添加一些击键,您可以向枚举添加字段,如下所示:
However, if you're willing to add a few keystrokes, you can add fields to your enums, like this:
public enum PAGE{
SIGN_CREATE(0),
SIGN_CREATE_BONUS(1),
HOME_SCREEN(2),
REGISTER_SCREEN(3);
private final int value;
PAGE(final int newValue) {
value = newValue;
}
public int getValue() { return value; }
}
然后你调用 PAGE.SIGN_CREATE.getValue()
得到 0.
And then you call PAGE.SIGN_CREATE.getValue()
to get 0.
这篇关于在java中以Enum方式将整数值存储为常量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在java中以Enum方式将整数值存储为常量


- 未找到/usr/local/lib 中的库 2022-01-01
- 将 Java Swing 桌面应用程序国际化的最佳实践是什么? 2022-01-01
- java.lang.IllegalStateException:Bean 名称“类别"的 BindingResult 和普通目标对象都不能用作请求属性 2022-01-01
- Eclipse 的最佳 XML 编辑器 2022-01-01
- 转换 ldap 日期 2022-01-01
- GC_FOR_ALLOC 是否更“严重"?在调查内存使用情况时? 2022-01-01
- 如何指定 CORS 的响应标头? 2022-01-01
- 如何使 JFrame 背景和 JPanel 透明且仅显示图像 2022-01-01
- 获取数字的最后一位 2022-01-01
- 在 Java 中,如何将 String 转换为 char 或将 char 转换 2022-01-01