यह ऑपरेटर केवल ऑब्जेक्ट रेफरेंस वेरिएबल्स के लिए उपयोग किया जाता है। ऑपरेटर जांचता है कि ऑब्जेक्ट किसी विशेष प्रकार (क्लास टाइप या इंटरफ़ेस टाइप) का है या नहीं। instanceof ऑपरेटर को इस प्रकार लिखा जाता है −
( Object reference variable ) instanceof (class/interface type)
यदि ऑपरेटर के बाईं ओर वेरिएबल द्वारा संदर्भित ऑब्जेक्ट दाईं ओर क्लास/इंटरफ़ेस टाइप के लिए IS-A चेक पास करता है, तो परिणाम true होगा। एक उदाहरण निम्नलिखित है −
उदाहरण
public class Test {
public static void main(String args[]) {
String name = "James"; // चूंकि name String टाइप का है इसलिए निम्नलिखित true लौटाएगा
boolean result = name instanceof String;
System.out.println( result );
}
}आउटपुट
true
यह ऑपरेटर तब भी 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