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

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


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