Java中的Object

1、概述

Object是所有类的超类、父类。所有的类都直接或者间接继承自Object。

2、Object类中常用的方法

equals(Object obj)、toString()、getClass()、hasCode()

A、public boolean equals(Object obj)

     对对象进行比较,该方法默认比较的是对象的地址。而自定义的对象,比较的地址没有什么意义,所以我们自定义的对象,一般都会重写次方法,完成自己想要比较的内容。

B、public String toString()

    将对象按照字符串的格式输出,一般来说这个值对于我们没有意义,所以我们会重写此方法。

C、public final Class<?> getClass()

    获取对象的字节码文件

D、public int hasCode()

    返回该对象的哈希值


注意:

== 和 equals 的区别?

==操作符专门用来比较两个变量的值是否相等,也就是用户比较变量所以对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个应用变量是否相等,只能用==。如果一个变量指向的数据是对象类型的,那么这时候设计了两块内存,对象本身占用一个内存(堆内存),变量也占用一个内存,

如Object obj = new Object();   变量obj是一个内存,new Object是另一个,此时变量obj所对应的内存中存储的数值就是对象占用的那块内存的首地址。对于指向对象类型的变量,若要比较两个变量是否指向同一个对象,即要看这两个变量所对应的内存中的数值是否相等,这时就需要==操作符进行比较。

equals用于比较两个独立对象的内容是否相同,就好比去比较两个人的长相是否相同,它比较的两个对象是独立的,例如:

String a = new String("foo");

String b = new String("foo");

两条new语句创建了两个对象,然后a,b这两个变量分别指向其中一个对象,这是两个不同的对象,它们的首地址是不同的,即a,b中存储的数值是不同的,

所以表达式a==b将返回false,而这两个对象中的内容是相同的,所以aequals(b)将返回false

字符串的比较基本都是使用equals方法。 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值