Java 使用列表引用int值

Java 使用列表引用int值,java,integer,switch-statement,Java,Integer,Switch Statement,我不知道我在找什么。。。一天(很久以前),我在互联网上搜索东西,我发现了一个类似“列表”的东西,你可以用它来计算整数值。 基本上是这样的: 通常您会这样做: switch (int) { case 1: something(); break; case 2: ... } 我看到的更有可能是: switch (int) { case CAR: something(); break; case HOUSE: ... } 如果我没记错

我不知道我在找什么。。。一天(很久以前),我在互联网上搜索东西,我发现了一个类似“列表”的东西,你可以用它来计算整数值。 基本上是这样的:

通常您会这样做:

switch (int)
  {
   case 1:
     something();
     break;
   case 2:
   ...
  }
我看到的更有可能是:

switch (int)
{
 case CAR:
   something();
   break;
 case HOUSE:
 ...
}
如果我没记错的话,用户是如何使用类似“列表”的东西将整数值表示为单词的。 你们知道这是什么吗?

你们在看一本书

或如之前在评论/其他答案中所述:

public static final int CAR = 1;
public static final int HOUSE = 2;
public static final int DOG = 3;
你在看一本书

或如之前在评论/其他答案中所述:

public static final int CAR = 1;
public static final int HOUSE = 2;
public static final int DOG = 3;

对此有两种可能的解释

首先,常量可能是在文件的其他地方声明的。例如

private static final int CAR = 1;
private static final int HOUSE = 2;
也有可能开关不是在整数值上执行的,而是在枚举上执行的

public enum Stuff {
    CAR, HOUSE;
}
枚举法是更现代、更可取的方法,被认为是一种良好的实践。但是,请注意,与使用整数不同,您将需要空检查枚举变量-switch语句可能会导致NullPointerException


对此有两种可能的解释

首先,常量可能是在文件的其他地方声明的。例如

private static final int CAR = 1;
private static final int HOUSE = 2;
也有可能开关不是在整数值上执行的,而是在枚举上执行的

public enum Stuff {
    CAR, HOUSE;
}
枚举法是更现代、更可取的方法,被认为是一种良好的实践。但是,请注意,与使用整数不同,您将需要空检查枚举变量-switch语句可能会导致NullPointerException


在类中的某个地方,可能存在名为
CAR
HOUSE
的静态最终整数…在类中的某个地方,可能存在名为
CAR
HOUSE
的静态最终整数。。。