【JAVA学习之路 | 基础篇】==与equals方法的区别

简介: 【JAVA学习之路 | 基础篇】==与equals方法的区别

1.Object中equals方法的底层实现

  • 除Object类外的任何类都直接或间接继承于根父类Object类,如果继承于Object类的子类未重写Object的equals方法,那么我们调用equals方法则是Object类中的equals().
Object类中的equals方法
public boolean equals(Object obj) {
        return (this == obj);
    }
  • 可以看到,Object类中的equals方法的底层是通过==来实现的.

2.==与equals()的相同与不同

(1). 基本数据类型(如int) : 可以用==判断,二者的数值是否相等

int a = 3;

int b = 3;

System.out.println(a == b);//打印true

(2). 引用数据类型(如String) : 可以用==判断,二者是否引用同一对象.

String a = new String("小明");

String b = new String("小明");

System.out.println(a == b);//打印false,因为a, b变量引用不同的对象

(3). 因为equals是方法,基本数据类型变量并不是对象,所以不能调用equals方法.

(4). 对于引用数据类型来说,由于equals()的底层是用=等于来实现的,所以并无不同.

相关文章
|
3天前
|
Java 调度
Java并发基础-线程简介(状态、常用方法)
Java并发基础-线程简介(状态、常用方法)
8 0
|
1天前
|
存储 安全 Java
深入理解Java中的ThreadLocal机制:原理、方法与使用场景解析
深入理解Java中的ThreadLocal机制:原理、方法与使用场景解析
10 2
|
2天前
|
Java C++
Java和C++的一些区别
Java和C++的一些区别
|
3天前
|
Java
JAVA高级部分学习小结(2023.11.4)
JAVA高级部分学习小结(2023.11.4)
|
3天前
|
Java
Java读取txt文件和写入txt文件-多种方法-java读写文件-java读写
Java读取txt文件和写入txt文件-多种方法-java读写文件-java读写
13 0
|
3天前
|
Java
Java基础7-一文搞懂抽象类和接口,从基础到面试题,揭秘其本质区别(二)
Java基础7-一文搞懂抽象类和接口,从基础到面试题,揭秘其本质区别(二)
9 0
|
3天前
|
设计模式 Java 内存技术
Java基础7-一文搞懂抽象类和接口,从基础到面试题,揭秘其本质区别(一)
Java基础7-一文搞懂抽象类和接口,从基础到面试题,揭秘其本质区别(一)
12 0
|
3天前
|
Java
guava Splitter 与java 内置的string的split 方法的区别
guava Splitter 与java 内置的string的split 方法的区别
5 0
|
3天前
|
设计模式 Java 测试技术
Java8实战-默认方法
Java8实战-默认方法
5 2
|
4天前
|
存储 Java 测试技术
滚雪球学Java(58):玩转Java中的ArrayList:常用操作技巧和方法总结
【6月更文挑战第12天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
5 0
滚雪球学Java(58):玩转Java中的ArrayList:常用操作技巧和方法总结