Java关键字—instanceof
生活随笔
收集整理的這篇文章主要介紹了
Java关键字—instanceof
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?????????instanceof 是 Java 的一個二元操作符,類似于 ==,>,< 等操作符,?是 Java 的保留關鍵字。左邊是對象,右邊是類;當對象是右邊類或者子類所創建的對象時,返回true,否則返回false。
boolean result = obj instanceof Class1、obj 必須為引用類型,不能是基本類型
int i = 0; System.out.println(i instanceof Integer);//編譯不通過 System.out.println(i instanceof Object);//編譯不通過instanceof 運算符只能用作對象的判斷。
2、如果 obj 為 null,那么將返回 false。
System.out.println(null instanceof Object);//false3、obj 為 class 類的實例對象
Integer a= new Integer(1); System.out.println(a instanceof Integer);//true4、obj 為 class 接口的實現類
我們知道集合中有個上層接口 List,其有個典型實現類 ArrayList
public class ArrayList<E> extends AbstractList<E>implements List<E>, RandomAccess, Cloneable, java.io.Serializable所以我們可以用 instanceof 運算符判斷 某個對象是否是 List 接口的實現類,如果是返回 true,否則返回 false
ArrayList arrayList = new ArrayList(); System.out.println(arrayList instanceof List);//true或者反過來也是返回 true
List list = new ArrayList(); System.out.println(list instanceof ArrayList);//true5、obj 為 class 類的直接或間接子類
我們新建一個父類 Person.class,然后在創建它的一個子類 Man.class
public class Person {} public class Man extends Person{}測試:
Person p1 = new Person(); Person p2 = new Man(); Man m1 = new Man(); System.out.println(p1 instanceof Man);//false System.out.println(p2 instanceof Man);//true System.out.println(m1 instanceof Man);//true總結
以上是生活随笔為你收集整理的Java关键字—instanceof的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cuda加速的头文件_如何从C ++头文
- 下一篇: 数组的合并和升序排列_区间调度问题之区间