Object类型与equals()方法;
一、Object类:
Object 类仅有一个空参的构造方法。public Object(){ }
1、Object类是所有Java类的根父类;如果类的声明中未使用extends关键字指明其父类,则默认父类是Object类。例如:
public class Person{
………
}
等价于:
public class Person extends Object{
………
}
例:method(Object obj){ … } //可以接受任何类作为其参数
Person o=new Person();
method(o);
总结:1、基本数据类型:根据基本数据类型的值判断是否相等。相等返回true,否则返回false;
2、引用数据类型:比较引用类型变量的地址值是否相等。
“Ctrl+Shift+t”:可查看object类的具体源码实现。
二、equals()方法实战:
1、equals() : (1)、只能处理引用类型变量; (2)、在Object类,发现equals()仍然比较的是两个引用类型变量的地址值是否相等。
2、像String类 包装类 File类 Date类这些重写了Object类的equals()方法,比较是两个对象的"实体内容"是否相同。
3、像String类 包装类 File类 Date类这些重写了Object类的equals()方法,比较是两个对象的"实体内容"是否相同。
4、(1)、基本数据类型:根据基本数据类型的值判断是否相等。相等返回true;反之,返回false。 注:两端数据类型可以不同,在不同的情况下,也可以返回true
(2)、引用数据类型:比较引用类型变量的地址值
5、关于equals()方法的代码:
[code]package com.atguigu.object; public class TestEquals { public static void main(String[] args) { // TestEquals t=new TestEquals(); // t.test1(); //equals(); java.lang.Object类是所有类的父类。 //equals():(1)、只能处理引用类型变量; (2)、在Object类,发现equals()仍然比较的是两个引用类型变量的地址值是否相等。 Person1 p1=new Person1(); Person1 p2=new Person1(); System.out.println(p1.equals(p2)); //等价于:p1==p2; //像String类 包装类 File类 Date类这些重写了Object类的equals()方法,比较是两个对象的"实体内容"是否相同。 String str1=new String("AA"); String str2=new String("AA"); //false System.out.println(str1==str2); System.out.println(str1.equals(str2)); //true } public void test1() { //== //1、基本数据类型:根据基本数据类型的值判断是否相等。相等返回true;反之,返回false //注:两端数据类型可以不同,在不同的情况下,也可以返回true //2、引用数据类型:比较引用类型变量的地址值。 // 1、基本数据类型:根据基本数据类型的值判断是否相等。相等返回true;反之,返回false int i=12; int j=12; System.out.println(i==j); //true char c=12; System.out.println(i==c); //true float f=12f; System.out.println(i==f); //true System.out.println(c==f); //true int k=65; char a='A'; System.out.println(k==a); Object obj1=new Object(); Object obj2=new Object(); System.out.println(obj1); System.out.println(obj2); System.out.println(obj1==obj2); //false Person1 p1=new Person1(); Person1 p2=new Person1(); Person1 p3=p1; System.out.println(p1==p2); //false System.out.println(p1==p3); //true } } class Person1{ }
- 为基类没有重写Object.Equals 方法的引用类型实现Equals
- JAVA基础知识回顾(基本数据类型,switch参数,equals与==的区别,Object有哪些公用方法)-1
- 如何为引用类型如何重写Object.Equals()方法?
- 基本类型和包装类之间的"=="和equals()方法
- 源码剖析HashMap--当key为Object时为什么要重写hashcode与equals方法
- Object 九大方法之equals理解
- java超类Object的equals()方法
- js中判断Object、Array、Function等引用类型对象是否相等的方法
- 字典里的value值的类型是是object的类型,不能想当然的去调用其他方法。
- C# Object.Equals方法深入研究
- (二十五)Java工具类EqualsBuilder协助Object.equals(object)方法详解
- 关于Object类中equals方法的重写
- 【Java基础之Object类(一)】Java中Object类中的所有方法(toString、equals、hashCode、clone、finalize、wait和notify等)详解
- js中通过Object.prototype.toString方法----精确判断对象的类型
- equals方法--对象类Object中的方法
- 使用Object对象的toString()方法自定义判断数据类型方法
- 《Java核心技术》第10版读书笔记之Chap5(3)——Object类及其equals、hashCode与toString方法
- JAVA 的 OBJECT 类型转 INT 方法
- 类Object中的equals()方法
- 关于Object类的equals方法