ตัวดำเนินการนี้ใช้สำหรับตัวแปรอ้างอิงวัตถุเท่านั้น โอเปอเรเตอร์ตรวจสอบว่าอ็อบเจ็กต์นั้นเป็นประเภทใดประเภทหนึ่ง (ประเภทคลาสหรือประเภทอินเตอร์เฟส) ตัวดำเนินการ 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