use*_*958 15 java initializer double-brace-initialize
我知道这段代码:
Set<String> set = new HashSet<String>() {{
add("test1");
add("test2");
}};
Run Code Online (Sandbox Code Playgroud)
是真的:
Set<String> set = new HashSet<String>() {
{//initializer
add("test1");
add("test2");
}
};
Run Code Online (Sandbox Code Playgroud)
初始化程序块正在构造函数块之前执行.在上面的示例中,在执行构造函数之前调用add("test1").构造函数可能正在初始化许多实例字段,因此这个类可以工作.我想知道为什么在构造函数之前调用.add()会起作用?有没有导致问题的案例?
| 归档时间: |
|
| 查看次数: |
625 次 |
| 最近记录: |