每天做点面试题
1.原始数据类型有(整,浮,字,布)分别为整形,浮点型,字符型,布尔型,原始数据类型传递是值传递,传递的是副本,其他方法改变要是的话这个不会改变
2.对象传递是(数组,类,接口)是引用传递,其他要是改变的话,会改变该值
3).在关于== 和equals
使用==时
基本数据类型比较的是值,引用数据类型比较的是内存地址
在关于"equals"判断两个对象是否相等时 没有重写时等价于==
重写了一般是看内容是否相等,如果相等则返回true
4)
hashCode 和equals的
hashCode的作用是获取哈希码,可以快速找到对象'
为什么要有hashCode
以hashSet为例
在hashSet插入数据时,hashCode计算插入位置和值是否重复
如果发现HashCode重复则不会让数据插入成功
,大大减少equals的次数,提高了执行速度
对象相等HashCode一定相同,HashCode相同对象不一定相等
所以要覆盖equals时HashCode也要必须覆盖
HashCode默认是在堆上的对象产生独特值
如果不重则回一直指向堆上的值
你来是缘分,你走也是