add() 方法何时在集合中添加对象
2022-09-04 08:43:20
我有两个问题。首先,考虑下面的代码。
public class Test{
private static final List<String> var = new ArrayList<String>() {{
add("A");
add("B");
System.out.println("INNER : " + var);
}};
public static void main(String... args){
System.out.println("OUTER : " + var);
}
}
当我运行此代码时,它会给我以下输出
INNER : null
OUTER : [A, B]
任何人都可以详细说明为什么在“A”和“B”恰好添加时是空和执行流?INNER
collection
其次,我对上面的代码进行了一些更改,并修改为下面的代码(只需将add方法放在第一个括号内)
public class Test{
private static final List<String> var = new ArrayList<String>() {
public boolean add(String e) {
add("A");
add("B");
System.out.println("INNER : " + var); return true;
};
};
public static void main(String... args){
System.out.println("OUTER : "+var);
}
}
运行上面的代码后,我得到了下面的结果
OUTER : []
看完这篇文章后,我对这里发生的事情一无所知。去哪儿了?为什么不打印?它不是被叫吗?INNER