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