希望真的很簡單的問題。我想要做這樣的事情:Java創建地圖對象的實例
Map<String, String> temp = { colName, data };
凡colName
,data
是字符串變量。
謝謝。
希望真的很簡單的問題。我想要做這樣的事情:Java創建地圖對象的實例
Map<String, String> temp = { colName, data };
凡colName
,data
是字符串變量。
謝謝。
地圖是一個接口。創建一個實現它的一個類的實例:
Map<String, String> temp = new HashMap<String, String>();
temp.put(colName, data);
或者,在Java 7:
Map<String, String> temp = new HashMap<>();
temp.put(colName, data);
你能解釋爲什麼在java7中可能嗎? – 2012-07-30 01:33:53
在Java 7中,增加了支持以在某些情況下省略類型。這只是爲了讓代碼更清潔。 – 2012-07-30 01:35:52
@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時無效。換句話說,與編譯器罵你,如果你嘗試以下方法(不要問我爲什麼):
Map<String,String> temp = new HashMap<>(){{
put(colName, data);
}};
即使它不可用,現在,我相信這將在Java中8降落,除非他們放棄了它,當我沒有注意。 – Joel 2012-07-30 01:40:51