2011-12-12 173 views
3

我有一個java類,對於某些字段(並非全部字段),我會爲該字段添加一個註釋。現在,我想找到所有有註釋的字段?java註釋反射

我知道,我可以迭代所有字段,並查找字段是否有註釋。 由於只有一個或兩個字段有註釋,所以我想要一個快速的方法來找到這樣的帶註釋的字段。

+0

我不認爲這裏有替代品 – Saket

回答

5

我不知道任何方式比迭代所有的領域更快。鑑於其他任何東西都需要其他代碼片段來遍歷所有字段,並將註釋存儲在更適合您的用例的形式中 - 這對於全部註釋肯定不會有用 - 我不希望有任何提供給你的東西。

你有沒有對迭代過的字段進行基準測試,發現速度太慢?如果你只是偶爾需要這樣做,它可能就夠快了。如果你需要在同一個類上多次執行它,那麼你可以自己創建一個緩存,所以你只需要遍歷任何特定類的字段一次。

+0

明白了。很好的答案,我會在第一個迭代器之後緩存註釋。 –