Java Object类equals方法
时间:2022-06-25 08:07:03|栏目:JAVA代码|点击: 次
基本概念:
- Object类位于java.lang包中,java.lang包包含着Java最基础和核心的类,在编译时会自动导入;
- Object类是所有Java类的祖先。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。可以使用类型为Object的变量指向任意类型的对象
equals()方法:比较两个对象是否同一
如果两个对象具有相同的类型以及相同的属性值,则称这两个对象相等。如果两个引用对象指的是同一个对像,则称这两个变量同一。Object类中定义的equals 函数原型为:
public boolean equals(Object);他是判断两个对象是否同一,并不是是否相等
- ①只能处理引用类型变量
- ②在Object类,发现equals()仍然比较的两个引用变量的地址值是否相等
package com.example.demo.test; public class Person { private String userName; private String age; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } }
package com.example.demo.test; public class Test { public static void main(String[] args) { Person p1 = new Person(); Person p2 = new Person(); System.out.println(p1.equals(p2)); System.out.println(p1 == p2); /* * String类重写了Object类的equals()方法,比较是两个对象的实体内容"是否完全相同。 */ String s1 = new String("AA"); String s2 = new String("AA"); System.out.println(s1.equals(s2)); System.out.println(s1 == s2); } }
从运行结果可以看到的是Object中的equals方法比较的是两个对象是否同一,
而String类中的equals方法比较的是字符串的value是否相等。 请看String.java中equals的方法
public boolean equals(Object anObject) { if (this == anObject) { return true; } if (anObject instanceof String) { String anotherString = (String)anObject; int n = value.length; if (n == anotherString.value.length) { char v1[] = value; char v2[] = anotherString.value; int i = 0; while (n-- != 0) { if (v1[i] != v2[i]) return false; i++; } return true; } } return false; }
上一篇:SpringBoot集成Redis实现验证码的简单案例
栏 目:JAVA代码
下一篇:javaweb 国际化:DateFormat,NumberFormat,MessageFormat,ResourceBundle的使用
本文标题:Java Object类equals方法
本文地址:http://www.codeinn.net/misctech/205881.html
阅读排行
- 1Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 2Java Swing组件BoxLayout布局用法示例
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4java中-jar 与nohup的对比
- 5深入理解Java中的克隆
- 6Java中自定义异常详解及实例代码
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9深入解析java虚拟机
- 10spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)