唐杰
1.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?
如果在定义类的时候,没有写toString方法,直接创建对象打印将得到地址值,如果类中有toString方法,打印对象的时候会自动调用toString方法,将会得到的是对象内容.
2.我们为什么要重写equals()方法?
调用equals方法的时候,默认对比的是地址值,如果需要对比对象间的其它属性的话,需要重写equals
3.==和equals()的区别?
==在对基本类型使用的时候,对比的是内容,返回值为布尔值; 对引用类型使用的时候,对比的是地址值.
equals是用于两个对象间的内容对比.
4.String和StringBuilder的区别?
StringBuilder主要用于拼接字符串,每个String都是一个对象,且内容无法改变,拼接的话会造成内存浪费,通过StringBuilder可以提高拼接的效率.
5.什么是包装类,和基本类型有什么区别?什么是自动装箱和自动拆箱?
包装类是将基本类型封装成一个类,可以通过类名去调用一些方法.
JDK 5之后再使用基本类型的装箱/拆箱可以省略部分写法,带有自动装箱/拆箱功能.
|