每天做点面试题

1.原始数据类型有(整,浮,字,布)分别为整形,浮点型,字符型,布尔型,原始数据类型传递是值传递,传递的是副本,其他方法改变要是的话这个不会改变

2.对象传递是(数组,类,接口)是引用传递,其他要是改变的话,会改变该值

3).在关于== 和equals

使用==时

基本数据类型比较的是值,引用数据类型比较的是内存地址

在关于"equals"判断两个对象是否相等时 没有重写时等价于==

重写了一般是看内容是否相等,如果相等则返回true

 4)

hashCode 和equals的

 hashCode的作用是获取哈希码,可以快速找到对象'

为什么要有hashCode

以hashSet为例

在hashSet插入数据时,hashCode计算插入位置和值是否重复

如果发现HashCode重复则不会让数据插入成功

,大大减少equals的次数,提高了执行速度

对象相等HashCode一定相同,HashCode相同对象不一定相等

所以要覆盖equals时HashCode也要必须覆盖

HashCode默认是在堆上的对象产生独特值

如果不重则回一直指向堆上的值

猜你喜欢

转载自www.cnblogs.com/chenligeng/p/9457870.html