The isAssignableFrom() method of java.lang.Class class is used to check if the specified class’s object is compatible to be assigned to the instance of this Class. It will be compatible if both the classes are the same, or the specified class is a superclass or superinterface. The method returns true if the specified class’s object can be cast to the instance of this Class. It returns false otherwise.
Syntax:
public boolean isAssignableFrom(Class<T> class)
Parameter: This method accepts class as parameter which is the specified class whose object to checked for compatibility to this Class instance.
Return Value: This method returns true if the specified class’s object can be cast to the instance of this Class. It returns false otherwise.
Below programs demonstrate the isAssignableFrom() method.
Example 1:
// Java program to demonstrate isAssignableFrom() method public class Test { public static void main(String[] args) throws ClassNotFoundException { // returns the Class object for this class Class myClass = Class.forName( "Test" ); System.out.println( "Class represented by myClass: " + myClass.toString()); // get the Class instance using forName() method Class c = Class.forName( "java.lang.String" ); System.out.println( "Class represented by c: " + c.toString()); // Check if object c is compatible // using isAssignableFrom() method System.out.println( "Is c compatible: " + myClass.isAssignableFrom(c)); } } |
Output:
Class represented by myClass: class Test Class represented by c: class java.lang.String Is c compatible: false
Example 2:
// Java program to demonstrate isAssignableFrom() method public class Test { public static void main(String[] args) throws ClassNotFoundException { // returns the Class object for this class Class myClass = Class.forName( "Test" ); System.out.println( "Class represented by myClass: " + myClass.toString()); // get the Class instance using forName() method Class c = Class.forName( "Test" ); System.out.println( "Class represented by c: " + c.toString()); // Check if object c is compatible // using isAssignableFrom() method System.out.println( "Is c compatible: " + myClass.isAssignableFrom(c)); } } |
Output:
Class represented by myClass: class Test Class represented by c: class Test Is c compatible: true
Reference: https://docs.oracle.com/javase/9/docs/api/java/lang/Class.html#isAssignableFrom-java.lang.Class-