我正在寻找一个类似 map 的集合,它允许我以 PHP/Python/JavaScript 方式创建新对象:
var foo = new Foo({'foo': 'bar'})
我在 Java 中最接近的是 HashMap:
Map<String, String> parameters = new HashMap<String, String>();
parameters.put("test", "one two");
parameters.put("foo", "bar");
这对于我的目的来说太冗长了。我想以更简单的方式记录和处理键值对。
我欢迎任何建议 - 创建自己的集合类型、为 Map 对象创建自己的工厂等。我只是想减少创建这样一个集合所需的字符数。
最佳答案
我见过的一种方法是,当坚持使用基本 JDK 时,只使用匿名初始化器:
Map<String, String> parameters = new HashMap<String, String>() {{
put("test", "one two");
put("foo", "bar");
}};
您还可以查看 Guava ImmutableMap 构建器:http://guava-libraries.googlecode.com/svn/trunk/javadoc/com/google/common/collect/ImmutableMap.Builder.html
如果你想走得更远,你可以为 JSON(或者只是 JSON 本身和 JSON 库)之类的东西编写一个解析器,然后将 Map 作为字符串编写。
关于java - 具有方便符号的键值集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7057606/