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