Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

ตัวดำเนินการ instanceof ใน Java

ตัวดำเนินการนี้ใช้ได้เฉพาะกับตัวแปรอ้างอิงออบเจ็กต์ ตัวดำเนินการตรวจสอบว่าออบเจ็กต์เป็นของประเภทเฉพาะ (ประเภทคลาสหรือประเภทอินเทอร์เฟซ) ตัวดำเนินการ instanceof เขียนว่า:

( Object reference variable ) instanceof (class/interface type)

หากออบเจ็กต์ที่ถูกอ้างอิงโดยตัวแปรด้านซ้ายของตัวดำเนินการ ผ่านการตรวจสอบ IS-A สำหรับประเภทคลาส/อินเทอร์เฟซด้านขวา ผลลัพธ์จะเป็น true ตัวอย่างต่อไปนี้:

ตัวอย่าง

public class Test {    public static void main(String args[]) {       String name = "James"; // ต่อไปนี้จะคืนค่า true เนื่องจาก name เป็นประเภท String       boolean result = name instanceof String;       System.out.println( result );    } }

ผลลัพธ์

นี่จะผลิตผลลัพธ์ดังนี้:

true

ตัวดำเนินการนี้ยังคงคืนค่า true หากออบเจ็กต์ที่ถูกเปรียบเทียบเป็น assignment compatible กับประเภทด้านขวา ตัวอย่างอีกอย่างหนึ่ง:

ตัวอย่าง

class Vehicle {} public class Car extends Vehicle {    public static void main(String args[]) {       Vehicle a = new Car();       boolean result = a instanceof Car;       System.out.println( result );    }  }

ผลลัพธ์

นี่จะผลิตผลลัพธ์ดังนี้:

true