【发布时间】:2012-07-27 16:54:58
【问题描述】:
希望是非常简单的问题。我想做这样的事情:
Map<String, String> temp = { colName, data };
其中colName、data 是字符串变量。
谢谢。
【问题讨论】:
-
尽管它现在不可用,但我相信它会出现在 Java 8 中,除非他们在我不注意的时候放弃了它。
标签: java arrays string list map
希望是非常简单的问题。我想做这样的事情:
Map<String, String> temp = { colName, data };
其中colName、data 是字符串变量。
谢谢。
【问题讨论】:
标签: java arrays string list map
地图是一个接口。创建一个实现它的类的实例:
Map<String, String> temp = new HashMap<String, String>();
temp.put(colName, data);
或者,在 Java 7 中:
Map<String, String> temp = new HashMap<>();
temp.put(colName, data);
【讨论】:
@JohnGirata 是正确的。
如果你真的不高兴,你可以看看这里http://nileshbansal.blogspot.com.au/2009/04/initializing-java-maps-inline.html
这不是你要问的,但它是一个巧妙的技巧/黑客。
【讨论】:
将条目放入刚刚创建的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<String,String> temp = new HashMap<>(){{
put(colName, data);
}};
【讨论】: