小编rae*_*dma的帖子

在switch语句中选择case的常量映射?

有没有办法Map在switch语句中定义一个常量?我在这里,这里和其他地方使用静态地图的所有试验都没有成功.为什么地图不是常数?

对于线路case (kws.get(KEYWORD_NAME)):我总是得到constant string expression required错误.

public class Demo {

  public static final String KEYWORD_NAME = "Name";
  public static final String KEYWORD_TYPE = "Type";

  private static final Map<String, String> kws = Collections.unmodifiableMap(
  new HashMap<String, String>() {{
    put(KEYWORD_NAME, KEYWORD_NAME.toLowerCase());
    put(KEYWORD_TYPE, KEYWORD_TYPE.toLowerCase());
  }});

  public static void parse(String kw){
    switch(kw){
      case (kws.get(KEYWORD_NAME)):
        System.out.println("Test");
        break;
    default:
      System.out.println("Unknown");
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

java dictionary switch-statement

1
推荐指数
1
解决办法
368
查看次数

标签 统计

dictionary ×1

java ×1

switch-statement ×1