Java可以使用String作为索引数组键吗? (例如:array = 1;)
Java可以使用String作为索引数组键吗? 例:
array["a"] = 1;
没有。
要做这样的事情,你必须使用一个地图。
Map<String, Integer> aMap = new HashMap<String, Integer>(); aMap.put("a" , Integer.valueOf(1));
不 – 你想要一个地图来做到这一点:
Map<String, Integer> map = new HashMap<String, Integer>(); map.put("a", 2);
然后得到它:
int val = map.get("a"); //2
您只能对数组使用方括号语法,而不能对任何集合使用。 所以像这样:
int val = map["a"]; //Compile error
永远是非法的。 你必须使用get()
方法。
当然,在Java 7中,您可以使用菱形运算符,因此不需要第一行中的最终generics参数:
Map<String, Integer> map = new HashMap<>();
不,这将是Java中的地图 。
(该types将是Map<String,Integer>
。)
不,他们不能。 但他们可以使用字符的ASCII值将被用作关键字索引
考虑
String[] a = new String['a' + 1]; a['a'] = "Hello"; int[] b = new int['a' + 3]; b['c'] = 5; System.out.println(a[97]); System.out.print(b[99]);
这将输出
Hello 5