java 泛型包_5 面试题之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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值