Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将字符串与哈希映射一起使用_Java - Fatal编程技术网

Java 将字符串与哈希映射一起使用

Java 将字符串与哈希映射一起使用,java,Java,如何使用字符串指定特定的哈希映射 例如: 公共静态ConcurrentHashMap年龄=新ConcurrentHashMap(); 字符串s=“年龄”; s、 得到(“尼克”); 如果你想把一个人的名字和他们的年龄对应起来,你需要 Map<String,Integer> age = new HashMap<>(); // only use ConcurrentHashMap if you intend

如何使用
字符串
指定特定的
哈希映射

例如:

公共静态ConcurrentHashMap年龄=新ConcurrentHashMap(); 字符串s=“年龄”; s、 得到(“尼克”);
如果你想把一个人的名字和他们的年龄对应起来,你需要

Map<String,Integer> age = new HashMap<>(); // only use ConcurrentHashMap if you intend
                                           // to use that Map from multiple threads
...
age.put("Nick",42);
...
int nicksAge = age.get("Nick");
Map age=newhashmap();//仅在需要时使用ConcurrentHashMap
//从多个线程使用该映射
...
年龄,put("尼克,42岁);;
...
int nicksAge=age.get(“尼克”);
公共类HashMapTest{
public static HashMap ageMap=new HashMap();
公共静态void main(字符串[]args){
“尼克”,12岁;
整数年龄=ageMap.get(“尼克”);
系统输出打印项次(年龄);
}
}

您可以使用泛型实现这一点

泛型允许您为映射指定类型。因此,与其使用

public static ConcurrentHashMap age = new ConcurrentHashMap();
你可以用

public static Map<String, Short> age = new ConcurrentHashMap<>();
你可以简单地写

Integer age = ageMap.get("Nick");

“使用字符串指定特定的哈希映射。”这是不连贯的。你到底想做什么?在你的例子中,s是字符串。我猜你指的是age.get(“尼克”)而不是s.get(“尼克”)好吧,但我要找的是临时使用字符串来引用地图的名称。如果您在我的示例中看到,我使用的字符串“s”被指定为“age”,用作hashmap的名称,即age。(如果有道理的话)@NickMandylas你所尝试的是不可能的
s
是一个
字符串
,而不是
哈希映射
。它没有get方法。
public static Map<String, Short> age = new ConcurrentHashMap<>();
public static Map<String, Integer> ageMap = new HashMap<>();
Object o = ageMap.get("Nick");
if(o instanceof Integer) {
    Integer age = (Integer) o;
}
Integer age = ageMap.get("Nick");