Java map的匿名类的初始化

  可以直接使用:

Map<String, Object> testMap = new HashMap<String, Object>() {

{  put("test1", "test11");

   put("test2", "test11");

}}; 进行初始化。

在网上查了下,这个是使用了匿名类的方式来进行初始化。第一层{}是匿名类的定义,第二层{}是初始化函数的定义。

但是没有想通的是 也就是说这应是一种初始化的方法。而不是根据:

ArrayList<String> test1 = new ArrayList<String>(test2);

这种形式转变来的吧。