大华笔试整理+同花顺笔试整理
1.以为程序输出的是什么?
public static void main(String[] args) {
List<String> list = new LinkedList<>();
list.add("null");
list.add("ths");
list.add("null");
filter(list);
}
public static void filter(List<String> list){
for(String str:list){
if("null".equals(str)){
list.remove(str);
}
}
System.out.println(list.get(0));
} 答案:ConcurrentModificationException,ConcurrentModificationException是基于java集合中的 快速失败(fail-fast) 机制产生的, 在使用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了增删改,就会抛出该异常。快速失败机制使得java的
集合类不能在多线程下并发修改,也不能在迭代过程中被修改。
2.以下程序输出的是什么?
public class B {
public static B t1 = new B();
public static B t2 = new B();
{
System.out.println("构造代码块");
}
static {
System.out.println("静态代码块");
}
public B()
{
System.out.println("构造方法A");
}
public static void main(String[] args) {
B t = new B();
}
} 在创建一个新的对象时,以下
静态代码块、构造代码块、构造方***依次执行,但是
#笔试#public static B t1 = new B();执行的时候,并不牵扯到静态代码块,所以只有构造代码块与构造方法,之后创造对象的时候,才需要进行静态代码块的执行
我的个人秋招笔试知识点记录 文章被收录于专栏
秋招笔试记录
查看26道真题和解析