So sánh kiểu với Instanceof trong java

Toán tử instanceof trong java được sử dụng để kiểm tra một object có phải là thể hiện của một kiểu dữ liệu cụ thể không (class, subclass, interface).

Output

cobj is instance of Child
cobj is instance of Parent
cobj is instance of Object

instanceof null

Khi một biến được gán giá trị null thì instanceof luôn trả về false khi so sánh.

Output: pobj is NOT instance of Child

Instanceof với Upcasting

Một biến kiểu dữ liệu supperclass có thể tham chiếu đến một subclass object, trong trường hợp này java sẽ upcasting từ kiểu dữ liệu subclass lên supperclass, chúng ta không cần ép kiểu tường minh cho chúng.

Output: cobj is an instance of Child

Instanceof với Downcasting

Để tránh exception chúng ta cần sử dụng instanceof để kiểm tra trước thi downcasting.

Note: Sử dụng downcasting khi chúng ta cần sử dụng các tính chất riêng của subclass mà ở supperclass không có. 

Output:

OK
From child
NO

Tài liệu tham khảo

https://www.javatpoint.com/downcasting-with-instanceof-operator

https://www.geeksforgeeks.org/java-instanceof-and-its-applications/

Leave a Comment

Your email address will not be published. Required fields are marked *