Java Constructor getAnnotatedReturnType()方法及示例

来源:这里教程网 时间:2026-02-17 20:44:08 作者:

Java Constructor getAnnotatedReturnType()方法及示例

构造函数 类的 getAnnotatedReturnType() 方法用于返回一个AnnotatedType对象,该对象代表AnnotatedType,用于指定构造函数对象的返回类型。返回的AnnotatedType代表AnnotatedType本身的实现或其任何子接口,如AnnotatedArrayType、AnnotatedParameterizedType、AnnotatedTypeVariable、AnnotatedWildcardType。AnnotatedType表示任何类型的潜在注释使用,包括数组类型、参数化类型、类型变量或当前在Java虚拟机中运行的通配符类型。

语法

public AnnotatedType getAnnotatedReturnType()

参数: 此方法不接受任何东西。

返回值: 该方法返回一个 AnnotatedType的对象 ,代表该Executable所代表的方法或构造函数的返回类型。

下面的程序说明了getAnnotatedReturnType()方法:

程序1 :

// Java program to demonstrate// Constructor.getAnnotatedReturnType() method  import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;import java.lang.reflect.AnnotatedType;import java.lang.reflect.Constructor;import java.util.Arrays;  public class GFG {      // main method    public static void main(String[] args)    {          try {            // create class object            Class demo = Demo.class;              // get Constructor object array            // from the class object            Constructor[] cons                = demo.getConstructors();              // get AnnotatedType for return type            AnnotatedType annotatedType                = cons[0]                      .getAnnotatedReturnType();              System.out.println("Type: "                               + annotatedType.getType(.getTypeName());              System.out.println("Annotations: "                               + Arrays.toString(annotatedType.getAnnotations()));        }        catch (Exception e) {            e.printStackTrace();        }    }}  class Demo {      // AnnotatedType is @customAnnotatedType    public @customAnnotatedType Demo()    {        // do stuffs    }}  // Creating custom AnnotatedType@Target({ ElementType.TYPE_USE })@Retention(RetentionPolicy.RUNTIME)@interface customAnnotatedType {}

输出。

Type: DemoAnnotations: [@customAnnotatedType()]

程序2

// Java program to demonstrate// Constructor.getAnnotatedReturnType() method  import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;import java.lang.reflect.AnnotatedType;import java.lang.reflect.Constructor;import java.util.Arrays;  public class GFG {      // main method    public static void main(String[] args)    {          try {            // create class object            Class shape = Shape.class;              // get Constructor object array            // from the class object            Constructor[] cons                = shape.getConstructors();              // get AnnotatedType for return type            AnnotatedType annotatedType                = cons[0]                      .getAnnotatedReturnType();              System.out.println(                "Type: "                + annotatedType                      .getType()                      .getTypeName());              System.out.println(                "Annotations: "                + Arrays.toString(                      annotatedType.getAnnotations()));        }        catch (Exception e) {            e.printStackTrace();        }    }}  class Shape {      // AnnotatedType is @customAnnotatedType    public @ShapeProperties Shape()    {        // do stuffs    }}  // Creating custom AnnotatedType@Target({ ElementType.TYPE_USE })@Retention(RetentionPolicy.RUNTIME)@interface ShapeProperties {}

输出。

Type: ShapeAnnotations: [@ShapeProperties()]

参考文献: https://docs.oracle.com/javase/10/docs/api/java/lang/reflect/Constructor.html#getAnnotatedReturnType()

相关推荐