java

导航

java常见面试题及答案:第六部分

来源 :中华考试网 2020-09-20

  1、try{}里有一个return语句,那么紧跟在这个try后的finally{}里的代码会不会被执行,什么时候被执行,在return前还是后?

  答:会执行,在方法返回调用者前执行。

  在finally中改变返回值的做法是不好的,因为如果存在finally代码块,try中的return语句不会立马返回调用者,而是记录下返回值待finally代码块执行完毕之后再向调用者返回其值,然后如果在finally中修改了返回值,就会返回修改后的值

  2、列出一些你常见的运行时异常?

  答:

  - ArithmeticException(算术异常)

  - ClassCastException (类转换异常)

  - IllegalArgumentException (非法参数异常)

  - IndexOutOfBoundsException (下标越界异常)

  - NullPointerException (空指针异常)

  - SecurityException (安全异常)

  3、List、Set、Map是否继承自Collection接口?

  答:List、Set 是,Map 不是。Map是键值对映射容器,与List和Set有明显的区别,而Set存储的零散的元素且不允许有重复元素(数学中的集合也是如此),List是线性结构的容器,适用于按数值索引访问元素的情形。

  4、Collection和Collections的区别?

  答:Collection是一个接口,它是Set、List等容器的父接口;Collections是个一个工具类,提供了一系列的静态方法来辅助容器操作,这些方法包括对容器的搜索、排序、线程安全化等等。

  5、List、Map、Set三个接口存取元素时,各有什么特点?

  答:List以特定索引来存取元素,可以有重复元素。Set不能存放重复元素(用对象的equals()方法来区分元素是否重复)。Map保存键值对(key-value pair)映射,映射关系可以是一对一或多对一

分享到

相关资讯