【问题标题】:Mapping a String to an array of ints - Java将字符串映射到整数数组 - Java
【发布时间】:2011-04-24 23:57:22
【问题描述】:

如何将字符串映射到静态定义的整数数组?我试过了

private static Map<String, int[]> map = new HashMap<String, int[]>();
static {
    map.put("foo", {5, 1, 3, 2});
    map.put("bar", {2, 7, 8});
}

这告诉我 {5, 1, 3, 2} 是非法的。

【问题讨论】:

    标签: java arrays static


    【解决方案1】:

    你需要在初始化内容之前调用数组的构造函数。

    map.put("foo", new int[]{5, 1, 3, 2});
    

    【讨论】:

      【解决方案2】:

      试试

      private static Map<String, int[]> map = new HashMap<String, int[]>();
      static {
          map.put("foo", new int[]{5, 1, 3, 2});
          map.put("bar", new int[]{2, 7, 8});
      }
      

      【讨论】:

        【解决方案3】:

        如果地图永远不会改变,你可以使用Guava lib:

        private static ImmutableMap<String, int[]> immutaleMap =
            ImmutableMap.of("foo", new int[]{5, 1, 3, 2},
                            "bar", new int[]{2, 7, 8}); 
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-08-09
          • 2012-01-23
          • 2021-11-15
          • 1970-01-01
          • 2017-01-31
          • 2013-03-20
          • 1970-01-01
          相关资源
          最近更新 更多