当前位置:   article > 正文

java 泛型包_5 面试题之java常用类、注解、泛型、反射、包装类(待补充)

java 反射、泛型、注解面试题

一、java常用类(String、java比较器)

String:

① 请你说明String和StringBuffer的区别? /  请你谈谈StringBuffer和StringBuilder的区别,底层实现上呢?

ed3c726c5f77b1e7bc4fedd51bdbbfb2.png

b8dc99389bfaf832df2978c84d3f5094.png

说明:

(1)三者的底层都是通过char[]来实现的‘

(2)String是不可变的字符序列,StringBuffer和StringBuilder是可变的;

(3)StringBuffer是线程安全的,SringBuilder是线程不安全的;

(4)三者的执行效率;

② 请说明String是最基本的数据类型吗? /  请说明String是否能继承?

不是。

基本数据类型包括byte、short、int、long、float、double、char、boolean。

java.lang.String类的底层是由char[]实现的,而char[]被final修饰,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类

③ 请解释一下为什么String不可变?

java比较器:(会在集合中考察)

① 请说明Comparable和Comparator接口的作用以及他们的区别????

0d9b0b2feac64911988135bfadd75a4d.png

386f14a2557eaa1de3106144ead4b77c.png

二、注解

① Java中的元注解有哪些?

三、泛型

① 请你讲讲什么是泛型?/ java中的泛型的理解?

四、反射

① 请说明如何通过反射获取和设置对象私有字段的值?

② 请你谈谈如何通过反射创建对象?

- 方法1:通过类对象调用newInstance()方法,例如:String.class.newInstance()

- 方法2:通过类对象的getConstructor()或getDeclaredConstructor()方法获得构造器(Constructor)对象并调用其newInstance()方法创建对象,例如:String.class.getConstructor(String.class).newInstance("Hello");

五、包装类

① 请你讲讲java支持的基本数据类型有哪些?什么是自动拆装箱?

基本数据类型包括byte、short、int、long、float、double、char、boolean。

他们对应有自己的包装类:

61813b76c85be64ad4a0179b1338a5dd.png

自动装箱就是把基本数据类型转化成对应的包装类;反之就是自动拆箱;

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/523422
推荐阅读
相关标签
  

闽ICP备14008679号