Java獲取集合泛型的型別上的註解

2021-07-26 08:30:33 字數 626 閱讀 9777

標題看起來比較繞,稍微解釋一下:

有許多不同的類,這些類上面都有乙個自定義的註解, 標註了某些資訊;

現在有一組這些類中某各類的物件,放在集合中。

有個需求,在進行反射處理的時候,需要知道集合的型別,並從中拿取資訊。

求解過程比較艱苦,這裡就不再贅述,直接放解決辦法。

假設我們已經得到了這個屬性的field(field可以通過class.getfiled(string name)等方式來獲取),接下來就要從這個field入手去獲取泛型類的註解。

type type = field.getgenerictype();

type generictype = ((parameterizedtype) type).getactualtypearguments()[0];

class<?> class= class.forname(generictype.getname());

annotation annotation = class.getannotation(***.class);

其中***就是列舉,如@nullable。

主要是卡在了從type到class的過程,後來想到有forname這個方法,不知道有沒有更好的方式。

java獲取泛型的實際型別

這是乙個困擾了我好久的問題,在我寫的android請求框架總結 二 中寫到過利用框架自動解析json資料,如下 object o if result.charat 0 else listener.success o 返回的物件也只能是object型別,具體用的時候還需要做一下強轉 其實當時有想過用泛...

java泛型集合

首先我們先來了解什麼是集合 集合就是用來組織和管理物件。集合特點 1.集合儲存的只能是物件 2.使用物件的引用,物件的儲存還是在堆記憶體中 3.儲存不同型別的資料 眾所周知,集合可以儲存不同型別的資料,而對於不同型別而言就會涉及到型別轉換,所以但是集合而言就會存在型別轉換問題,所以我們引用了泛型,使...

Java的集合與泛型

list定義 list list new arraylist 不需要自動定義元素大小 預設元素是10,超過預設數值自動增加1.5倍。list.add 新增任何型別的內容 list.remove 索引 移除內容 list.get 獲取內容 arraylist定義 listlist new arrayl...