我有一個被註解的類如下:如何檢查某個類的註釋是否屬於特定類別?
@BaseProp(category = Property.CATEGORY1)
where Property is a class defined as
public enum Property{
CATEGORY1("category1"), CATTEGORY2("category2");
public static Property getCategory(String value) {
return Property
.valueOf(Optional.ofNullable(value).orElseThrow(IllegalArgumentException::new).toUpperCase());
}
它有適當的getter,setter方法,構造函數和這種方法getCategory()
。作爲
@Prop(category = Property.CATGORY1)
這些類擴展基類
我的其它類中的多個包被註釋。
我想創建對象的兩個ArrayList
上課 - 1.擴展BaseClass的和類別被標註爲CATEGORY1 2.擴展BaseClass的和類別被標註爲CATEGORY2
在意義上,我想,以確定併爲它們創建對象並將它們放置在Objectx
的一般ArrayList
中。
如何使用反射和Java來做到這一點?
你問的是錯誤的問題。如果你有一個'Class',檢查一個註解和它的類別是微不足道的。但首先,你必須找出如何找到你基類的所有子類。那麼,如何動態創建實例是另一個話題。但是找到子類是最難的部分。 – Holger