Java 我可以用不同的方式定义hashmap吗';s声明

Java 我可以用不同的方式定义hashmap吗';s声明,java,hashmap,Java,Hashmap,我想做的是有一个映射,它实际上将值作为一件事保存,但声明为另一件事。例如,实际上将值作为字符串保存,但put/get将使用Integer Map<String,String> map = new HashMap<String,String>(); 但这会给我一个字符串,我也需要“放入”一个字符串 我想让put/get方法接受一个整数值(但映射仍然存储 map.put("A",1); Integer ret = map.get("A"); 我怎样才能做到这一点 注意:这

我想做的是有一个映射,它实际上将值作为一件事保存,但声明为另一件事。例如,实际上将值作为字符串保存,但put/get将使用Integer

Map<String,String> map = new HashMap<String,String>();
但这会给我一个字符串,我也需要“放入”一个字符串

我想让put/get方法接受一个整数值(但映射仍然存储

map.put("A",1);
Integer ret = map.get("A");
我怎样才能做到这一点

注意:这并不是专门用于字符串/整数转换,而是任何类型之间的转换


谢谢。

您可以使用
对象
作为值类型。它可以存储
字符串
整数
双精度
,几乎任何东西都可以。但是在使用
对象
时需要非常小心,因为您必须相应地对从映射中获得的每个值进行强制转换(否则您将始终得到一个
ClassCastException

Map Map=newhashmap();
仅供参考,我不建议您使用此选项。相反,请确保您的
映射必须包含哪些内容,并相应地具有值类型。

简单

Map<String,Integer> map = new HashMap<String,Integer>();
Map Map=newhashmap();

为什么有人想用不同的表示法来存储一个值?你仍然可以用一个整数创建一个字符串,并在从映射中获得它后进行反转,但你的优势是什么?

你可以(但不应该)使用这个生物:。真的……它是邪恶的。
仅用于教育目的。

Map表示“包含字符串作为键、字符串作为值的映射”。你想要一个包含字符串作为键,整数作为值的映射。你能推断出什么?抱歉什么?我想开一家橘子店卖橘子,但我想接受香蕉的送货。你会用这些香蕉做什么?映射是用来存储和检索值的。它不会在各种类型的对象之间进行类型转换。
Map<String, Object> map = new HashMap<String, Object>();
Map<String,Integer> map = new HashMap<String,Integer>();