码迷,mamicode.com
首页 > 其他好文 > 详细

每天做点面试题

时间:2018-08-11 01:36:46      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:内存   img   改变   引用传递   数组   info   快速   set   位置   

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

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

 

 

3).在关于== 和equals

使用==时

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

 

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

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

 

技术分享图片

 

 4)

hashCode 和equals的

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

 

为什么要有hashCode

以hashSet为例

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

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

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

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

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

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

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

 

每天做点面试题

标签:内存   img   改变   引用传递   数组   info   快速   set   位置   

原文地址:https://www.cnblogs.com/chenligeng/p/9457870.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!