文章 2024-08-20 来自:开发者社区

【Java基础面试二十三】、==和equals()有什么区别?

面试官:问题 参考答案: \==运算符: 作用于基本数据类型时,是比较两个数值是否相等; 作用于引用数据类型时,是比较两个对象的内存地址是否相同,即判断它们是否为同一个对象; equals()方法: 没有重写时,Object默认以 =...

【Java基础面试二十三】、==和equals()有什么区别?
文章 2024-08-20 来自:开发者社区

【Java基础面试二十二】、为什么要重写hashCode()和equals()?

面试官:为什么要重写hashCode()和equals()? 参考答案: Object类提供的equals()方法默认是用==来进行比较的,也就是说只有两个对象是同一个对象时,才能返回相等的结果。而实际的业务中,我们通常的需求是,若两个不同的对象它们的内容是相同的,就认...

【Java基础面试二十二】、为什么要重写hashCode()和equals()?
文章 2024-08-20 来自:开发者社区

【Java基础面试二十一】、说一说hashCode()和equals()的关系

面试官:介绍一下Object类中的方法** 参考答案: Object类提供了如下几个常用方法: Class<?> getClass():返回该对象的运行时类。 boolean equals(Object obj):判断指定对象与该对象是否相等。 int hashCode():返回该对象的hashCod...

【Java基础面试二十一】、说一说hashCode()和equals()的关系
文章 2023-07-29 来自:开发者社区

【java面试题】- 为什么重写 equals() 时必须重写 hashCode() 方法?

在Java中,当你重写 equals() 方法时,通常也需要同时重写 hashCode() 方法。这是因为在Java中,hashCode() 方法和 equals() 方法有着密切的关联,它们一起用于对象在哈希表(如HashMap、HashSet等)中的存储和查找。为什么需要同时重写这两个方法呢?主要是为了保证对象在使用哈希表进行存储和查找时能够正确工作。哈希表使用哈希码(hash code)来....

文章 2023-07-29 来自:开发者社区

【Java面试】为什么重写equals方法必须同时重写HashCode方法?

众所周知再JDK1.8之后,Java修改了String类型的底层源码,因为他们发现其实对于-128~127范围的字符更加常用,因此将底层的数组从char类型修改为了byte类型。看到上面的方法可以发现,String类型的equals方法会先比较两个字符串的内存地址是否相等,如果是直接返回true,否则比较字符串的内容,如果内容相等返回true,否则返回false。那么这和hashCode方法有什....

【Java面试】为什么重写equals方法必须同时重写HashCode方法?
文章 2023-06-28 来自:开发者社区

【Java面试宝典】常用类中的方法重写|equals方法与逻辑运算符==的区别

1、常用类(Object)概述常用类是所有类的父类一个类如果如果没有显式声明父类,则一定直接继承自ObjectObject类中存放着所有类都必须拥有的内容,子类可以根据需要对继承的方法进行重写2、五种常用方法与部分方法重写示例1.getClass():获取引用的实际对象类型2.int hashCode():获取对象的哈希码值每个对象地址的哈希码值都不同重写原因:由于该方法默认关注对象地址,无法满....

【Java面试宝典】常用类中的方法重写|equals方法与逻辑运算符==的区别
文章 2023-02-23 来自:开发者社区

Java 最常见的面试题:两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?

不对,两个对象的 hashCode()相同,equals()不一定 true。代码示例:String str1 = "通话"; String str2 = "重地"; System.out.println(String.format("str1:%d | str2:%d", str1.hashCode(),str2.hashCode())); System.out.println(str1.e.....

文章 2023-02-23 来自:开发者社区

Java 最常见的面试题:== 和 equals 的区别是什么

不对,两个对象的 hashCode()相同,equals()不一定 true。代码示例:String str1 = "通话"; String str2 = "重地"; System.out.println(String.format("str1:%d | str2:%d", str1.hashCode(),str2.hashCode())); System.out.println(str1.e.....

文章 2023-02-23 来自:开发者社区

Java 最常见的面试题:== 和 equals 的区别是什么

== 解读对于基本类型和引用类型 == 的作用效果是不同的,如下所示:基本类型:比较的是值是否相同;引用类型:比较的是引用是否相同;代码示例:String x = "string"; String y = "string"; String z = new String("string"); System.out.println(x==y); // true System.out.println(....

文章 2022-11-22 来自:开发者社区

Java面试(==和 equals 的区别)(重载和重写的区别)

== 的作用 基本类型:比较的就是值是否相同 引用类型:比较的就是地址值是否相同equals 的作用 引用类型:默认情况下,比较的是地址值。特点:String、Integer、Date 这些类库中 equals 被重写,比较的是内容而不是地址==:比较的是两个字符串内存地址(堆内存)的数值是否相等,属于数值比较;equals():比较的是两个字符串的内容,属于内容比较重载: 发生在同一个类中,方....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

Java开发者

Java开发者成长课堂,课程资料学习,实战案例解析,Java工程师必备词汇等你来~

+关注