java class equals_Java中equals方法的用法
一、Object类中的equals方法
所有类都从Object类中继承了equals方法。
Object类中equals方法源代码如下:
public boolean equals (Object obj)
{
return this == obj;
}
Object中的equals方法是直接判断this和obj本身的值是否相等,即用来判断调用equals的对象和形参obj所引用的对象是否是同一个对象,所谓同一对象就是指内存中同一块存储单元,如果this和obj指向的是同一块内存对象,则返回true,如果指向的不是同一块内存,则返回false。注意:即使是内容完全相等的两块不同的内存对象,也放回false。
即:如果是同一块内存,则object中的equals方法返回true,如果是不同的内存,则返回false。
如果希望不同内存但相同内容的两个对象equals时返回true,则我们需要重写父类的equals方法。
class A
{
int i;
public A(int i)
{
this.i = i;
}
// public boolean equals(Object obj) //如果希望不同内存但相同内容的两个对象equals时返回true,则重写父类的equals
// {
// A aa = (A)obj;
// if(this.i == aa.i)
// return true;
// else
// return false;
// }
}
public class TestEquals_1
{
public static void main(String[] args)
{
A aa1 = new A(3);
A aa2 = new A(3);
System.out.println(aa1.equals(aa2)); //false
}
}
二、String类中的equals方法
String类已经重写了Object中的equals方法。
String类的equals方法是用来判断两个对象的内容是否相等,Object类的equals方法是用来判断两个对象是否是用一个对象。
public class TestEquals_2
{
public static void main(String[] args)
{
String str1 = new String("China");
String str2 = new String("China");
System.out.println(str1.equals(str2)); //true
System.out.println(str1 == str2); //false
String str3 = "China";
String str4 = "China";
System.out.println(str3.equals(str4)); //true
System.out.println(str3 == str4); //ture
}
}
java class equals_Java中equals方法的用法相关推荐
- java中equals方法的用法以及==的用法(转)
2019独角兽企业重金招聘Python工程师标准>>> equals 方法是 java.lang.Object 类的方法. 有两种用法说明: (1)对于字符串变量来说,使用" ...
- java里equals_Java中equals和==的区别
java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型.byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号(==), ...
- java map equals_Java HashMap equals()方法
Java HashMap equals()方法 java.util.HashMap.equals() 方法用于检查两个HashMap之间的相等性.它验证作为参数传递的一个映射的元素是否等于该映射的元素 ...
- Java中equals()方法和==的区别分析
Java中equals方法和==的区别分析 equals(Object obj)方法,将对象与传入的obj进行比较,相等返回true,否则返回false.equals方法和"==" ...
- Java实验:重写equals方法
(1)实验题目:实现一个名为Value 的类,其中含有一个字符类型的成员x 和双精度类型的成员y.请重写(override)其equals( )方法,使得用equals( )比较Value 类的两个对 ...
- Java基础知识之equals方法
<Java核心技术> 1.equals方法介绍以及重写 Object类中的equals方法是用于检测两个对象是否相等,在Object类中equals方法的具体实现是确定两个对象引用是否相等 ...
- PHP中魔术方法的用法
PHP中魔术方法的用法 /** PHP把所有以__(两个下划线)开头的类方法当成魔术方法.所以你定义自己的类方法时,不要以 __为前缀. * */// __toString.__set.__get__ ...
- python中sorted_Python中sorted()方法的用法
Python中sorted()方法的用法 2012-12-24 22:01:14| 分类: Python |字号 1.先说一下iterable,中文意思是迭代器. Python的帮助文档中对itera ...
- php中dump怎么使用,php中var_dump()方法的用法简介
摘要 腾兴网为您分享:php中var_dump()方法的用法简介,支付旭尊,鑫钱袋,携程,小米音乐等软件知识,以及星票网,dc,新房购置税计算器,听中国app,xbox360,当游游戏盒,蜗牛二手货车 ...
最新文章
- 130万奖金池!国家智能网联汽车创新中心ICV创新算法攻关任务报名通道火热开启!...
- TCP三次握手与四次分手
- c语言程序设计网课作业答案,《C语言程序设计》作业答案
- python max函数_使用'key'和lambda表达式的python max函数
- 安卓手机管理器_电脑文件快速搜索有everything,那手机呢?
- C#在Linux上的开发指南
- C++工作笔记-作用域的巧妙使用,释放堆区创建的资源
- 【网络信息安全】鉴别和密钥分配协议
- 批量ssh免密登陆远程主机
- 语音自动识别文字软件
- 【个人笔记】OpenCV4 C++ 图像处理与视频分析 04课
- 虚拟机和主机之间建立虚拟磁盘
- 《数据虚拟化:商务智能系统的数据架构与管理》一 1.8 数据虚拟化的不同实现...
- html+css基础教程之html简介和元素
- animation unity 速度_Unity中用Timeline实现动画特写(上)
- bzoj4567【SCOI2016】背单词
- macOS Big Sur 11.6 (20G165) 虚拟机 IOS 镜像
- ATECC508A芯片开发笔记(一):初识加密芯片
- CSS单行省略和多行省略
- ArcGIS批量出图操作流程(附练习数据下载)