Java中HashMap的文字声明

Sha*_*ika 4 java hashmap literals

JavaScript,您可以一次声明对象的所有键和值组合,JSON如下所示...

var myJSON = {
    'key1' : 'value 1',
    'key2' : 'value 2',
    'key3' : 'value 3',
    'key4' : 'value 4',
    'key5' : 'value 5',
    'key6' : 'value 6'
};
Run Code Online (Sandbox Code Playgroud)

我不知道我们是否可以做类似的东西JavaHashMaps.

HashMap<String, String> map = new HashMap<String, String>(
    "Key 1", "Value 1",
    "Key 2", "Value 2",
    "Key 3", "Value 3"
);
Run Code Online (Sandbox Code Playgroud)

基本上,我需要这个作为一次只读的东西作为我的代码的其他部分的配置.我搜索并尝试了一些解决方案,但无法让它们工作.或者我有更好的方法吗?

Sur*_*tta 5

虽然{{(双支撑)是一种反模式,你可以这样写

HashMap<String, String> map = new HashMap<String, String>(){{
put("Key 1", "Value 1");
put("Key 2", "Value 2");
put("Key 3", "Value 3");    
}};
Run Code Online (Sandbox Code Playgroud)

编辑:

如果您正在寻找更好的方法来放置元素,请迭代您的json并将键值放入循环中.

  • @JordiCastilla与否!地图将包含对封闭类的引用,这可能是不合需要的...... (3认同)