ตัวดำเนินการนี้ใช้สำหรับตัวแปรอ้างอิงวัตถุเท่านั้น โอเปอเรเตอร์ตรวจสอบว่าอ็อบเจ็กต์นั้นเป็นประเภทใดประเภทหนึ่ง (ประเภทคลาสหรือประเภทอินเตอร์เฟส) ตัวดำเนินการ instanceof เขียนเป็น −
( Object reference variable ) instanceof (class/interface type)
หากวัตถุที่อ้างอิงโดยตัวแปรทางด้านซ้ายของตัวดำเนินการผ่านการตรวจสอบ IS-A สำหรับประเภทคลาส/อินเทอร์เฟซทางด้านขวา ผลลัพธ์จะเป็นจริง ต่อไปนี้เป็นตัวอย่าง −
ตัวอย่าง
public class Test { public static void main(String args[]) { String name = "James"; // following will return true since name is type of String boolean result = name instanceof String; System.out.println( result ); } }
ผลลัพธ์
สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -
true
โอเปอเรเตอร์นี้จะยังคงคืนค่า จริง หากวัตถุที่เปรียบเทียบเป็นงานที่เข้ากันได้กับประเภททางด้านขวา ต่อไปนี้เป็นอีกตัวอย่างหนึ่ง -
ตัวอย่าง
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