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 ...
随机推荐
- DeepWalk论文精读:(4)总结及不足
模块4 1 研究背景 随着互联网的发展,社交网络逐渐复杂化.多元化.在一个社交网络中,充斥着不同类型的用户,用户间产生各式各样的互动联系,形成大小不一的社群.为了对社交网络进行研究分析,需要将网络中的 ...
- Pandas切片操作:很容易忽视的SettingWithCopyWarning
Pandas是一个强大的分析结构化数据的工具集,主要用于数据挖掘和数据分析,同时也提供数据清洗功能. 很多初学者在数据的选取,修改和切片时经常面临一些困惑.这是因为Pandas提供了太多方法可以做同样 ...
- SpringCloudGateWay学习 之 从函数式编程到lambda
文章目录 前言: 函数式编程: 什么是函数式编程: 函数式编程的特点 lambda表达式: 核心: 函数接口: 方法引用: 类型推断: 变量引用: 级联表达式跟柯里化: 前言: 这一系列的文章主要是为 ...
- python学习之break和continue在for循环中的使用(案例:打印出10以内的偶数,并且只要前三个偶数)
运行程序,break是整个程序都跳出 continue则表示跳过当前一次循环,然后继续执行循环
- 微信小程序-swiper(轮播图)抖动问题
ps:问题 组件swiper(轮播图)真机上不自动滚动 一直卡在那里抖动 以前遇到这个问题,官方一直没有正面回复.就搁置了,不过有大半年没写小程序了也没去关注,今天就去看了下官方文档,发觉更新了点好东 ...
- etcd环境安装与使用
etcd简介 etcd是开源的.高可用的分布式key-value存储系统,可用于配置共享和服务的注册和发现,它专注于: 简单:定义清晰.面向用户的API(gRPC) 安全:可选的客户端TLS证书自动认 ...
- 08_CSS入门和高级技巧(6)
排查错误 Chrome浏览器的审查功能. 错误1:选择器写错了,压根没有选择上: 如果写了一个错误的选择器, <style type="text/css"> dvi p ...
- Kubernetes中 Pod 是怎样被驱逐的?
前言 在 Kubernetes 中,Pod 使用的资源最重要的是 CPU.内存和磁盘 IO,这些资源可以被分为可压缩资源(CPU)和不可压缩资源(内存,磁盘 IO).可压缩资源不可能导致 Pod 被驱 ...
- Linux内核驱动学习(七)应用层直接操作GPIO
文章目录 简介 原理图 节点 设置为输出 设置为输入 映射关系 debugfs pwm demo 简介 前面通过libgpio的方式介绍了内核空间对GPIO进行操作的接口,其做了较好的封装,同时Lin ...
- 阿里巴巴泰山版《Java 开发者手册》,也是一份防坑指南
我是风筝,公众号「古时的风筝」,一个不只有技术的技术公众号,一个在程序圈混迹多年,主业 Java,另外 Python.React 也玩儿的 6 的斜杠开发者. Spring Cloud 系列文章已经完 ...