Java Class getGenericInterfaces() Method



Description

The Java Class getGenericInterfaces() method returns the Types representing the interfaces directly implemented by the class or interface represented by this object.

Declaration

Following is the declaration for java.lang.Class.getGenericInterfaces() method

public Type[] getGenericInterfaces()

Parameters

NA

Return Value

This method returns an array of interfaces implemented by this class.

Exception

  • GenericSignatureFormatError − If the generic class signature does not conform to the format specified in the Java Virtual Machine Specification, 3rd edition.

  • TypeNotPresentException − If any of the generic superinterfaces refers to a non-existent type declaration

  • MalformedParameterizedTypeException − if any of the generic superinterfaces refer to a parameterized type that cannot be instantiated for any reason.

Getting Generic Interfaces of a Class Without Interfaces Example

The following example shows the usage of java.lang.Class.getGenericInterfaces() method. In this program, we've created an instance of ClassDemo and then using getClass() method, the class of the instance is retrieved. Using getGenericInterfaces(), we've retrieved all interfaces if implemented otherwise an alternate message is printed.

package com.tutorialspoint;

import java.lang.reflect.Type;

public class ClassDemo {

   public static void main(String []args) {         

      ClassDemo d = new ClassDemo();
      Class c = d.getClass();

      Type[] t = c.getGenericInterfaces();
      if(t.length != 0) {
         for(Type val : t) {
            System.out.println(val.toString());
         }
      } else {
         System.out.println("Interfaces are not implemented...");
      }
   }
}

Output

Let us compile and run the above program, this will produce the following result −

Interfaces are not implemented...

Getting Generic Interfaces of a Class Implementing an Interface Example

The following example shows the usage of java.lang.Class.getGenericInterfaces() method. In this program, we've created an instance of ClassDemo and then using getClass() method, the class of the instance is retrieved. Using getGenericInterfaces(), we've retrieved all interfaces if implemented otherwise an alternate message is printed.

package com.tutorialspoint;

import java.lang.reflect.Type;

interface Print {
   public void show();
}

public class ClassDemo implements Print {

   public void show(){
      System.out.println("Class Demo");
   }
   
   public static void main(String []args) {         

      ClassDemo d = new ClassDemo();
      Class c = d.getClass();

      Type[] t = c.getGenericInterfaces();
      if(t.length != 0) {
         for(Type val : t) {
            System.out.println(val.toString());
         }
      } else {
         System.out.println("Interfaces are not implemented...");
      }
   }
}

Output

Let us compile and run the above program, this will produce the following result −

interface com.tutorialspoint.Print

Getting Generic Interfaces of ArrayList Example

The following example shows the usage of java.lang.Class.getGenericInterfaces() method. In this program, we've used class of ArrayList. Using getGenericInterfaces(), we've retrieved all implemented interfaces.

package com.tutorialspoint;

import java.lang.reflect.Type;
import java.util.ArrayList;

public class ClassDemo {

   public static void main(String []args) {         

      Class c = ArrayList.class;

      Type[] t = c.getGenericInterfaces();
      if(t.length != 0) {
         for(Type val : t) {
            System.out.println(val.toString());
         }
      } else {
         System.out.println("Interfaces are not implemented...");
      }
   }
}

Output

Let us compile and run the above program, this will produce the following result −

java.util.List<E>
interface java.util.RandomAccess
interface java.lang.Cloneable
interface java.io.Serializable
java_lang_class.htm
Advertisements