Java中instanceof和isInstance的區(qū)別
轉(zhuǎn)載: https://coget.cn/archives/Java%E4%B8%ADinstanceof%E5%92%8CisInstance%E7%9A%84%E5%8C%BA%E5%88%AB
instanceof 是一個(gè)操作符
// 基礎(chǔ)關(guān)系
public static class A {
}
public static class B extends A {
}
// 使用方法
System.err.println(a instanceof A);
說明
- 一個(gè)對(duì)象梦鉴,是否是
本身
饶辙、父類
或父類接口
误窖。 -
Object
都為true
惹盼,null
對(duì)象都為false
結(jié)果
isInstance 是Class對(duì)象的方法
// 基礎(chǔ)關(guān)系
public static class A {
}
public static class B extends A {
}
// 使用方法 (1)
System.err.println(B.class.isInstance(a));
說明
如(1):這樣理解會(huì)好點(diǎn)驶臊,
a變量
是否可以轉(zhuǎn)換B類型
。
-
一個(gè)類型
是否能轉(zhuǎn)換另一個(gè)類型
仰猖,包含類本身
明垢、父類
、父類接口
-
Object
都為true
频轿,null
對(duì)象都為false
a
不能轉(zhuǎn)換為B
垂涯,b1
也不能轉(zhuǎn)換為b2
結(jié)果
ps:歡迎大家留言 ????