Java 如何定义常量增量计数器

Java 如何定义常量增量计数器,java,interface,Java,Interface,如果您有某个表的列列表,并且在接口中定义了这些列的元数据: interface tableCol{ String column1 = "col1"; String column2 = "col2"; int col1_pos = 1; int col2_pos = 2; } Col1_pos的值用于在UI中显示 我们有大约100个栏目&&根据用户需求,位置不断变化 对于任何列的添加/删除,我必须更新硬编码计数器 有没有更好的方法通过使用一

如果您有某个表的列列表,并且在接口中定义了这些列的元数据:

interface tableCol{
  String column1 = "col1";
  String column2 = "col2";
  int col1_pos = 1;
  int col2_pos = 2;
}
Col1_pos的值用于在UI中显示

我们有大约100个栏目&&根据用户需求,位置不断变化

对于任何列的添加/删除,我必须更新硬编码计数器

有没有更好的方法通过使用一些整数或供应商来实现这一点,从而增加值


我知道Javc/JVM对指令进行了一些重新排序。因此,我正在寻找一种更好的方法,这样我就不需要硬编码这些计数器值。

通常要做的是将这些值放入一个可交互的列表中。因此,不要将诸如
column1
column2
等单个字段定义为
列表
。但是,由于每个列(名称和“pos”)都附带了更多信息,因此您还可以创建一个包含这两个字段的列类,并将其存储在集合中

但由于您只想存储名称和索引,因此可以使用java的
enum
,并使用ordinal方法作为索引,如下所示:

enum Columns {
  COL1 ("col1"),    //ordinal() = 0
  COL2 ("col2"), ;  //ordinal() = 1

  String name;
  public Columns(String name){
    this.name = name;
  }
}

嗯?为什么您关心jit的运行时优化?对列使用
enum
,对列列表中的列索引使用
ordinal()
方法。错误使用接口定义常量是一种反模式。