Object类及其equals()方法
== :
1.基本数据类型:根据基本数据类型的值判断是否相等,相等返回true,反之返回false
注意:两端数据类型可以不同, 在不同的情况下,也可以返回true
2.引用数据类型:Object obj1 = newObject(); 比较引用类型变量的地址值是否相等
Object obj2= newObject();
system.out.println(obj1 == obj2)//false
TestEquals:
package com.aff.equals;
import com.aff.java1.Person;
public class TestEquals {
public static void main(String[] args) {
// ==
int i = 12;
int j = 12;
System.out.println(i == j);// true
char c = 12;
System.out.println(i == c);// true
float f = 12.0f;
System.out.println(i == f);// true
int k = 65;
char a = 'A';
System.out.println(k == a);// true
Object obj1 = new Object();
Object obj2 = new Object();
System.out.println(obj1);
System.out.println(obj2);
System.out.println(obj1 == obj2);// false
Person p1 = new Person();
Person p2 = new Person();
Person p3 = p1;
System.out.println(p1 == p2);// false
System.out.println(p1 == p3);// true
System.out.println("---------------------分割线-------------------------");
// equals():①只能处理引用类型变量
// ②在Object类,发现equals()仍然比较的两个引用变量的地址值是否相等
// java.lang.Object类,是所有类的根父类
Person p5 = new Person();
Person p6 = new Person();
System.out.println(p5.equals(p6));// false-->true 重写了Person的equals方法
System.out.println(p5 == p6);// false
// 像String 包装类 File类 Date类这些重写Object类的equals()方法,
//比较是两个对象的实体内容是否完全相同
String str1 = new String("AA");
String str2 = new String("AA");
System.out.println(str1 == str2);// false
System.out.println(str1.equals(str2));// true
}
}
输出结果:
true
true
true
true
java.lang.Object@6d06d69c
java.lang.Object@7852e922
false
false
true
---------------------分割线-------------------------
true
false
false
true
Person:重写equals方法:
package com.aff.java1;
public class Person {
private String name;
private int age;
public Person() {
super();
}
public Person(String name, int age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void walk() {
System.out.println("走路");
}
public void eat() {
System.out.println("吃");
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Person other = (Person) obj;
if (age != other.age)
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}
/* public boolean equals(Object obj) {
return true;
}
*/
}
Object类及其equals()方法的更多相关文章
- object类的equals方法简介 & String类重写equals方法
object类中equals方法源码如下所示 public boolean equals(Object obj) { return this == obj; } Object中的equals方法是直接 ...
- Java Object类及其equals方法
基本概念: Object类位于java.lang包中,java.lang包包含着Java最基础和核心的类,在编译时会自动导入: Object类是所有Java类的祖先.每个类都使用 Object 作为超 ...
- Java Object类的equals()方法
所有类都从Object类中继承了equals方法,Object类中equals方法源代码如下: public boolean equals(Object obj) { retu ...
- Object 类的equals方法
Object 类中定义有: public boolean equals (Object obj)方法 提供对象是否“相等”的逻辑 Object 的equals方法定义为:x.equals(y)当x和y ...
- Java:Object类的equals()方法 如何编写一个完美的equals()方法
一 代码实例: package freewill.objectequals; /** * @author freewill * @see Core Java page161 * @desc get ...
- Object类—复写equals方法,hashCode方法,toString方法
Object:所有类的根类. Object是不断抽取而来,具备着所有对象都具备的共性内容. class Person extends Object { private int age; Person( ...
- Object类的equals方法 常用API
boolean equals (Object obj)(return this==obj): p1.equals(p2): 基本数据类型比较的是值 引用数据类型:默认比较的是两个对象的地址 ...
- Object类和toString方法 --和Object类的equals方法
一,Object类概述:Object是类层次结构的根,每个类都可以将Object作为超类,所有类都直接或者间接的继承自该类构造方法:pulic Object()在面向对象中,子类要访问父类的无参构造方 ...
- 重写Object类里equals方法
package com.fff; public class Pet { private String name; private int age; public Pet(String nume,int ...
随机推荐
- postman(环境设置)
1.点击小齿轮进入到环境变量添加页面,点击add添加环境变量 2.新增环境输入变量名称和变量值 3.添加成功 4.接口中设置变量,切换环境进行传参 5.调用环境变量断言 调用环境变量中的phone变量 ...
- Fiddler手机端抓包环境设置与过滤(一)
一.PC端Fiddler设置 1.安装https 证书 打开Fiddler->Tool->Fiddler Options->HTTPS tab,勾选上并Capture HTTPS C ...
- C#对象初始化器
1.对象初始化器 Student objStu2 = new Student() { StudentId=, //属性之间使用","分隔 StudentName="小明& ...
- 从excel表格加载数据返回DataSet
添加命名空间:using System.Data.OleDb; /// <summary> /// 从excel表格加载数据返回DataSet /// </summary> / ...
- 修改MySQL表中的字段属性
登录数据库 >mysql -u root -p 数据库名称 查询所有数据表 mysql>show tables; 查询表的字段信息 mysql>desc 表名称; 1.修改某个表的字 ...
- 就没有我遇不到的报错!java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/filter/Filter
本来准备用HBase的Bulkload将HDFS的HFile文件导入到HBase的myuser2表中,用的是yarn jar的命令 yarn jar /export/servers/hbase-1.2 ...
- Qt子窗口设置背景色只能应用到其中的部件的问题
问题描述:设置父窗口后子窗口会嵌在父窗口中,背景变透明,此时用qss设置子窗口的背景色发现只应用到的子窗口的控件中,除控件外的地方并没有应用到背景色. 解决方法:不使用qss设置背景色,重写paint ...
- 深入理解CSS定位—浮动模型
前面我们讲到了绝对定位,在这篇文章中,我们将讲到3种定位模型中的浮动模型.主要参考 张鑫旭在慕课网的 深入理解float 那些年我们一起清过的浮动---by 一丝丝凉 精通CSS 注意:第二小节基本参 ...
- python语法学习第九天--else和with语句
else: while/for else:正常执行完循环(非break)执行else中代码 try else:未捕捉到异常,执行else中代码 with: 语法格式: with open('666.t ...
- 整理了最全的Python3数据类型转换方法,可以收藏当手册用
本文基于python3.8版本,总结了各种数据类型直接的转换规则和方法.算是比较全了,可以收藏当手册来查. 概述 数据类型转换,指的是通过某种方法,将一个数据由原来的类型转换为另外一个类型.比如,我们 ...