switch语句对于比较BYTE / Char // Short / Int变量有效。我错了吗?

时间:2011-07-01 16:02:52

标签: java

我在某处看到了这段代码

 switch(greet){
  case HELLO:
      System.out.println("Formal Greeting");
      break;
  case HI:
      System.out.println("Friendly Greeting");
      break;
  case YO:
      System.out.println("Informal Greeting");
      break;
  default:
      System.out.println("Person did not greet");
 }

它没有提到正在检查案例的 greet 变量的数据类型的类型..但它是东的,以确定它既不是一个字节,也不是一个字节Short或Int 从逻辑上讲,交换块作为变量接受的最后一个允许数据类型是 char 数据类型,但我相信char只接受单个值,如'c'或'3'..那么如何评估像你好这样的大值?什么是可能的解释?

2 个答案:

答案 0 :(得分:3)

我最好的猜测是这是一个枚举,而你好是在枚举上声明的枚举常量。 所以基本上我们在这里有:

public enum greet {
     hello,
     hi,
     yo;
}

Enum docs

答案 1 :(得分:1)

根据您的显示,可以使用任何允许的数据类型。