0
我使用Elements.getElementValuesWithDefaults來檢索註釋值。 返回的地圖的關鍵是延伸ExecutableElement。我可以迭代entrySet並檢查每個鍵的名稱,但這會導致醜陋的if-else-cascades。註釋處理 - 創建ExecutableElement
Map<? extends ExecutableElement, ? extends AnnotationValue> annotationValues =
elementUtils.getElementValuesWithDefaults(annotationMirror);
for (Map.Entry<? extends ExecutableElement, ? extends AnnotationValue> entry : annotationValues.entrySet()) {
if (entry.getKey().getSimpleName().contentEquals("method1")) {
// do something with value of method1
} else if (entry.getKey().getSimpleName().contentEquals("method2")) {
// do something with value of method2
} else if (entry.getKey().getSimpleName().contentEquals("method3")) {
// do something with value of method3
}
}
我沒有找到一個簡單的方法來創建一個ExecutableElement作爲獲取值的關鍵。任何人都知道嗎?
不完全是我想到的,但解決了我的問題。謝謝! – lefloh