Class getGenericInterfaces() in Java

getGenericInterfaces(): This method is available in the java.lang.Class of Java.

Syntax:

Type[] java.lang.Class.getGenericInterfaces()

This method returns the Types representing the interfaces directly implemented by the class or interface represented by this Class object.

Note:

1. If a super interface is a parameterized type, the Type object returned for it must accurately reflect the actual type arguments used in the source code.

2. If this Class object represents a class, the return value is an array containing objects representing all interfaces directly implemented by the class. The order of the interface objects in the array corresponds to the order of the interface names in the implements clause of the declaration of the class represented by this Class object.

3. If this Class object represents an interface, the array contains objects representing all interfaces directly extended by the interface. The order of the interface objects in the array corresponds to the order of the interface names in the extends clause of the declaration of the interface represented by this Class object.

4. If this Class object represents a class or interface that implements no interfaces, the method returns an array of length 0.

5. If this Class object represents a primitive type or void, the method returns an array of length 0.

6. If this Class object represents an array type, the interfaces Cloneable and java.io.Serializable are returned in that order.

Parameters: NA

Returns: an array of interfaces directly implemented by this class.

Throws:

1. java.lang.reflect.GenericSignatureFormatError - if the generic class signature does not conform to the format specified by The Java Virtual Machine Specification.

2. TypeNotPresentException - if any of the generic super interfaces refers to a non-existent type declaration.

3. java.lang.reflect.MalformedParameterizedTypeException - if any of the generic super interfaces refer to a parameterized type that cannot be instantiated for any reason.

Approach

Java

package com.Class;

import java.util.Arrays;

public class ClassgetGenericInterfaces {

    public static void main(String[] args)
throws ClassNotFoundException {

        @SuppressWarnings("rawtypes")
        Class class1 = Class.forName("java.lang.String");

        System.out.println(Arrays.toString(class1.getGenericInterfaces()));
    }
}

Output:

[interface java.io.Serializable, java.lang.Comparable<java.lang.String>, interface java.lang.CharSequence, interface java.lang.constant.Constable, interface java.lang.constant.ConstantDesc]


Some other methods of Class

getDeclaredConstructors()This method returns an array of Constructor objects reflecting all the constructors declared by the class represented by this Class object. 

getDeclaredField(String)This method returns a Field object that reflects the specified field of the class or interface represented by this Class object. 

getDeclaredFields()This method returns an array of Field objects reflecting all the fields declared by the class or interface represented by this Class object.

getDeclaredMethod(String, Class...)This method returns a Method object that reflects the specified declared method of the class or interface represented by this Class object.

getDeclaredMethods()This method returns an array containing Method objects reflecting all the declared methods of the class or interface represented by this Class object, including public, protected, default (package) access, and private methods, but excluding inherited methods.

getDeclaringClass()If the class or interface represented by this Class object is a member of another class, returns the Class object representing the class in which it was declared. 

getEnclosingClass()This method returns the immediately enclosing class of the underlying class.

getEnclosingConstructor()If this Class object represents a local or anonymous class within a constructor, returns a Constructor object representing the immediately enclosing constructor of the underlying class.

getEnclosingMethod()If this Class object represents a local or anonymous class within a method, returns a Method object representing the immediately enclosing method of the underlying class.

getEnumConstants()This method returns the elements of this enum class or null if this class object does not represent an enum type.

getField(String)his method returns a Field object that reflects the specified public member field of the class or interface represented by this Class object. 

getFields()This method returns an array containing Field objects reflecting all the accessible public fields of the class or interface represented by this Class object.

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

getGenericSuperclass()This method returns the Type representing the direct superclass of the entity (class, interface, primitive type, or void) represented by this Class object.

getInterfaces()This method returns the interfaces directly implemented by the class or interface represented by this Class object.

getMethod(String, Class...)This method returns a Method object that reflects the specified public member method of the class or interface represented by this Class object.

getModifiers()This method returns the Java language modifiers for this class or interface, encoded in an integer.

getModule()This method returns the module that this class or interface is a member of.

getName()This method returns the name of the entity (class, interface, array class, primitive type, or void) represented by this Class object.

getNestHost()This method returns the nest host of the nest to which the class or interface represented by this Class object belongs. 

getNestMembers()This method returns an array containing Class objects representing all the classes and interfaces that are members of the nest to which the class or interface represented by this Class object belongs.

getPackage()This method gets the package of this class.

getPackageName()This method returns the fully qualified package name.

getProtectionDomain()This method returns the ProtectionDomain of this class.

getRecordComponents()This method returns an array of RecordComponent objects representing all the record components of this record class, or null if this class is not a record class.

No comments:

Post a Comment