8

希望真的很简单的问题。我想做这样的事情:

Map<String, String> temp = { colName, data };

其中colNamedata是字符串变量。

谢谢。

4

3 回答 3

16

地图是一个界面。创建一个实现它的类的实例:

Map<String, String> temp = new HashMap<String, String>();
temp.put(colName, data);

或者,在 Java 7 中:

Map<String, String> temp = new HashMap<>();
temp.put(colName, data);
于 2012-07-30T01:31:42.533 回答
2

@JohnGirata 是正确的。

如果你真的不高兴,你可以看看这里http://nileshbansal.blogspot.com.au/2009/04/initializing-java-maps-inline.html

这不是你要问的,但它是一个巧妙的技巧/黑客。

于 2012-07-30T01:33:49.290 回答
2

将条目放入Map刚刚创建的快速方法如下(让我使用 HashMap,因为我喜欢它们):

Map<String,String> temp = new HashMap<String,String>(){{
    put(colName, data);
}};

请注意所有带有结束分号的括号!

虽然Java7您通常可以使用diamond operator并编写类似的东西Map<String,String> temp = new HashMap<String,String>();,但这在将元素放入 Map 内联时不起作用。换句话说,如果您尝试以下操作,编译器会对您大喊大叫(不要问我为什么):

Map<String,String> temp = new HashMap<>(){{
    put(colName, data);
}};
于 2012-07-30T01:49:00.830 回答