Java 高级面试题及详细答案(实战版).docx

Java 高级面试题及详细答案(实战版).docx

Java高级面试题及详细答案(实战版)

一、Java基础核心高级题

1.==和equals的区别?重写equals为什么必须重写hashCode?

详细答案:

1)==是运算符,比较的是内存地址:基本数据类型比较数值,引用类型比较对象堆内存地址。

2)equals是Object类方法,默认和==逻辑一致,很多类(String、Integer)重写后,用于比较对象内容是否相等。

3)重写equals必须重写hashCode的核心原因:

Java哈希集合(HashMap、HashSet)存储规则是先判断hashCode,再判断equals。如果只重写

文档评论(0)

1亿VIP精品文档

相关文档