Java可以使用String作为索引数组的键吗?例如:
array["a"] = 1;
Java可以使用String作为索引数组的键吗?例如:
array["a"] = 1;
不行。
要做类似这样的事情,你需要使用一个Map(映射)。
Map<String, Integer> aMap = new HashMap<String, Integer>();
aMap.put("a" , Integer.valueOf(1));
Integer.valueOf(1)
,因为并不真正需要一个新的Integer
实例吗? 实际上,你可以直接使用常量1
,而不需要无谓地进行包装,对吗? - mre不行 - 你需要使用map来实现:
Map<String, Integer> map = new HashMap<>();
map.put("a", 2);
接下来获取它:
int val = map.get("a"); //2
你只能在数组中使用方括号语法,不能在任何集合中使用。因此,类似以下的内容:
int val = map["a"]; //Compile error
永远是不合法的。您必须使用 get()
方法。
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