当前位置: 首页 > 面试题库 >

在Java中以Enum方式将整数值存储为常量

寿鸣
2023-03-14
问题内容

我目前正在以以下方式创建整数常量。

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;
}

当我尝试以枚举方式执行此操作时

public enum PAGE{SIGN_CREATE,SIGN_CREATE,HOME_SCREEN,REGISTER_SCREEN}

当我使用PAGE.SIGN_CREATE它应该返回1;


问题答案:

好吧,你不能完全那样做。 PAGE.SIGN_CREATE永远不会返回1;它会返回PAGE.SIGN_CREATE。这就是枚举类型的重点。

但是,如果您愿意添加一些按键,则可以将字段添加到枚举中,如下所示:

    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。



 类似资料:
  • 问题内容: 我已经创建了一个自定义数据类型枚举,如下所示: 从外部数据源,我得到[0,4]范围内的整数。我想将这些整数转换为它们对应的枚举值。 我怎样才能做到这一点? 我正在使用PostgreSQL 8.4。 问题答案:

  • 问题内容: 好吧,我写了一些代码,我所做的只是for循环,但是更改了我调用的方法。我尝试使用for循环,这样会更整洁(出于好奇,看是否可以完成),但是当我这样做时它不会编译,因为它无法识别其中的项目我认为将数组作为一种方法。这就是我所拥有的: 当我尝试编译时,我得到 (它引用while循环中的第一条语句) 所以,我认为这可能是因为我将其设置为String类型的Array?有方法类型吗?这是可能吗?

  • 本文向大家介绍为什么不将数字存储到MySQL ENUM列中?,包括了为什么不将数字存储到MySQL ENUM列中?的使用技巧和注意事项,需要的朋友参考一下 MySQL内部将ENUM值存储为整数键(索引号),以引用ENUM成员。不将整数值存储在ENUM列中的主要原因是,很明显,MySQL最终引用了索引而不是值,反之亦然。 示例 以下示例可以澄清它- 在这里,我们将'1'作为字符串插入,并且偶然也将1

  • 问题内容: 我需要在MySQL表中存储大量(数千万)的512位SHA-2哈希。为了节省空间,我想以二进制形式存储它们,而不是以十六进制数字的字符串存储。我使用的是ORM(DBix :: Class ),因此将从代码中抽象出存储的特定详细信息,从而可以将它们扩充到我选择的任何对象或结构中。 MySQL的类型是64位。因此,我可以从理论上将散列划分为八列。不过,这似乎很荒谬。我的其他想法只是使用单个列

  • 本文向大家介绍谈谈Java中整数类型(short int long)的存储方式,包括了谈谈Java中整数类型(short int long)的存储方式的使用技巧和注意事项,需要的朋友参考一下 在java中的整数类型有四种,分别是 byte  short int long 其中byte只有一个字节 0或1,在此不详细讲解。 其他的三种类型如下: 1、 基本类型:short 二进制位数:16 包装类:

  • 问题内容: 我试图了解Java中的数组设置。创建数组后,为什么必须为数组中的每个对象初始化空间。它是如何存储在内存中的,如下所示: 或像这样: 换句话说,实际上是在内存中执行的操作。是否仅返回对内存中保留位置的引用,并且该语句沿10个指针的行创建内容,这些指针随后由新语句分配? 问题答案: 阵列,Java软件商店的两件事情之一:要么基本值(,,…)或引用(又名指针)。 因此,仅为10个引用创建空间