2014年京东校招笔试中的两道java题目

两道都是选择题


1,调用下面的函数的返回是(C

public static int testt() {
      try {
            return  1;
        }catch(Exception e){
            return 2;
        }finally {
            return 3;
        }
     

    }


A 1,B 2 ,C 3, D 编译错误


2, 下面的的程序输出是(A

...

List<Integer> list=new ArrayList<Integer>();

list.add(0);

List<Object> list2=list;

System.out.println(list.get(0).instanceof(Integer));

System.out.println(list2.get(0).instanceof(Integer));

...


A 编译错误, B true false, C true true ,D false false


至于 原因明天来分析,其实有时候考点基础就能考住你。


解释:关于第一题的try catch 语句块 需要注意一点的是在 执行try中的return之前一定会执行finally里面的语句,在第一题中,由于现在finally里面执行了return所以整个函数返回的值是3而不是1,详细分析大家可以参考这篇博文 

          而第二题则是在考察java的泛型的复制问题,由于list是List<Integer>类型的 而list2是List<Object>类型了,这里是两种不同类型的泛型了, 所以也就不存在所谓的类型自动转换问题了,要赋值的话,可以把list中的元素拿出来然后一个一个的add到list2中去

你可能感兴趣的:(2014年京东校招笔试中的两道java题目)