判断某个实例对象是否属于某个类方法总结

总结下判断某个实例是否属于某个类的方法相必大家都有所接触,但是他们之间的区别够清楚吗?下面我就总结下如何判断某个实例对象是否属于某个类的方法进行下总结
***** (好记性不如烂笔头) *****


instanceof运算符
InstanceOf运算符是用来在运行时指出对象是否是特定类的一个实例。InstanceOf通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。
用法也非常简单:

Boolean result = object instanceof class

参数	 是否必选 	描述
result	 必选项	        任意变量
object	 必选项	        任意对象表达
class	 必选项	        任意已定义的对象类

isInstance方法

public boolean isInstance(Object obj)
参数:
obj - 要检查的对象 

判定指定的 Object 是否与此 Class 所表示的对象赋值兼容。此方法是 Java 语言
instanceof 运算符的动态等效方法。如果指定的 Object 参数非空,且能够在不引发
ClassCastException 的情况下被强制转换成该 Class 对象所表示的引用类型,则该方法返回 true;否则返回 false。
特别地,当该 Class 对象表示一个已声明的类时,若指定的 Object
参数是所表示类(或其任一子类)的一个实例,则此方法返回 true;否则返回 false。如果此 Class 对象表示一个数组类,且通过身份转换或扩展引用转换,指定的 Object
参数能转换为一个数组类的对象,则返回 true;否则返回 false。如果此
Class 对象表示一个接口,且指定 Object 参数的类或任一超类实现了此接口,则此方法返回 true;否则返回 false。如果此 Class 对象表示一个基本类型,则此方法返回 false。

instanceof关键字和isInstance()方法都是用于检查对象的类,都返回一个布尔值。
但是当我们想要动态检查对象的类时,主要区别就出现了。在这种情况下,isInstance()方法将起作用,而无法通过instanceof运算符来实现这一点。

获取class对象通过equals()比较

FatherClass father=new FatherClass();
if(father.getClass().equals(FatherClass.class)) {
	System.out.println(“father是类FatherClass的对象”);
}else {
	System.out.println(“father不是类FatherClass的对象”);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值