Java 填充ArrayList的另一种方法

Java 填充ArrayList的另一种方法,java,arraylist,fill,Java,Arraylist,Fill,它为什么有效?请给我解释一下怎么做和为什么 List<String> list = new ArrayList<String>() { { add("one"); add("two"); add("three"); } }; for ( String element : list ) System.out.println(element); List List=new ArrayList(){ {

它为什么有效?请给我解释一下怎么做和为什么

List<String> list = new ArrayList<String>() {
    {
        add("one");
        add("two");
        add("three");
    }
};

for ( String element : list )
    System.out.println(element);
List List=new ArrayList(){
{
添加(“一”);
添加(“两”);
添加(“三”);
}
};
for(字符串元素:列表)
系统输出打印项次(元素);

这意味着您创建了一个扩展
arraylist的类,并添加了一个静态块

List<String> list = new ArrayList<String>(){};  // At this step you have created an instance of an anonymus class assigned to the list varibale

new ArrayList<String>() {
        {
        add("one");
        add("two");
        add("three");
        } // This is a static block inside your newly created anonymus class. 
};
List List=new ArrayList(){};//在这一步中,您已经创建了分配给列表的匿名类的实例
新ArrayList(){
{
添加(“一”);
添加(“两”);
添加(“三”);
}//这是新创建的匿名类中的静态块。
};

@Jigar Joshi,这太快了,请在IDE中编写此代码,然后玩游戏。看看哪里有add()实现。。。