java.lang.reflect.Field的getAnnotationsByType()方法用於返回與此字段元素關聯的注釋。這是獲取Field對象注釋的重要方法。如果沒有與此Field元素關聯的注釋,則返回空數組。調用者可以將返回的數組修改為方法發送的實際對象的副本;它對返回給其他調用方的數組沒有影響。
用法:
public <T extends Annotation> T[] getAnnotationsByType(Class<T> annotationClass)
參數:此方法接受注釋類,它是與注釋類型相對應的Class對象。
返回:如果與此元素相關聯,則此方法針對指定的注釋類型返回此元素的所有注釋,否則返回長度為零的數組。
異常注意:如果給定的注釋類為null,則此方法將引發NullPointerException。
以下示例程序旨在說明getAnnotationsByType()方法:
示例1:
// Java program to illustrate
// getAnnotationsByType() method
import java.lang.annotation.*;
import java.lang.reflect.Field;
import java.util.Arrays;
public class GFG {
// initialize field with
// default value in annotation
@annotations(32512.21)
private double realNumbers;
public static void main(String[] args)
throws NoSuchFieldException
{
// create Field object
Field field
= GFG.class
.getDeclaredField("realNumbers");
// apply getAnnotationsByType()
annotations[] annotations
= field.getAnnotationsByType(
annotations.class);
// print results
System.out.println(
Arrays
.toString(annotations));
}
@Target({ ElementType.FIELD })
@Retention(RetentionPolicy.RUNTIME)
private @interface annotations {
double value() default 99.9;
}
}
輸出:
[@GFG$annotations(value=32512.21)]
示例2:
// Java program to illustrate
// getAnnotationsByType() method
import java.lang.annotation.*;
import java.lang.reflect.Field;
import java.util.Arrays;
public class GFG {
// initialize field with
// default value in annotation
@annotations("ChipherCodes@#!")
private double string;
public static void main(String[] args)
throws NoSuchFieldException
{
// create a Field object
Field field
= GFG.class
.getDeclaredField("string");
// apply getAnnotationsByType()
annotations[] annotations
= field.getAnnotationsByType(
annotations.class);
// print results
System.out.println(
Arrays.toString(
annotations));
}
@Target({ ElementType.FIELD })
@Retention(RetentionPolicy.RUNTIME)
private @interface annotations {
String value();
}
}
輸出:
[@GFG$annotations(value=ChipherCodes@#!)]
相關用法
- Java AnnotatedElement getAnnotationsByType()用法及代碼示例
- Java Package getAnnotationsByType()用法及代碼示例
- Java Class getAnnotationsByType()用法及代碼示例
- Java Field set()用法及代碼示例
- Java Field get()用法及代碼示例
- Java Field getDouble()用法及代碼示例
- Java Field setByte()用法及代碼示例
- Java Field getByte()用法及代碼示例
- Java Field getModifiers()用法及代碼示例
- Java Field isEnumConstant()用法及代碼示例
- Java Field setLong()用法及代碼示例
- Java Field getGenericType()用法及代碼示例
- Java Field toGenericString()用法及代碼示例
- Java Field setShort()用法及代碼示例
- Java Field setChar()用法及代碼示例
注:本文由純淨天空篩選整理自AmanSingh2210大神的英文原創作品 Field getAnnotationsByType() method in Java With Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。