Java中括号中的括号
在初始化(例如新列表)时使用括号中的括号实际上意味着什么Java中括号中的括号,java,Java,在初始化(例如新列表)时使用括号中的括号实际上意味着什么 new ArrayList<String>() { { add("A"); } }; newarraylist() { { 添加(“A”); } }; 这是否意味着在创建新引用之后,方法正在调用?这是一个用于创建和初始化集合的聪明习惯用法 实际发生的情况是,您正在创建ArrayList的匿名子类的一个实例,该子类有一个实例初始值设定项块,该块调用列表实例上的add,以填充它。内部{…}是实例
new ArrayList<String>()
{
{
add("A");
}
};
newarraylist()
{
{
添加(“A”);
}
};
这是否意味着在创建新引用之后,方法正在调用?这是一个用于创建和初始化集合的聪明习惯用法 实际发生的情况是,您正在创建
ArrayList
的匿名子类的一个实例,该子类有一个实例初始值设定项块,该块调用列表实例上的add
,以填充它。内部{…}
是实例初始值设定项块
类似的技巧可用于创建预初始化的贴图