我正在编写注释处理器。我的注释应用于接口中的方法:
public interface Sample {
@MyAnnotation
public ReturnEnum method();
}ReturnEnum是我自己写的一个枚举。在我的处理器代码中,我执行如下操作:
TypeMirror returnType = methodElement.getReturnType();我可以得到返回类型的名称: my.package.ReturnEnum,但我不知道,是否可以检查它是枚举类型。有办法吗?
打招呼。
发布于 2020-10-09 13:03:10
好的。找个解决办法。似乎您只需将其转换为特定的TypeElement即可。
public void myMethod(ExecutableElement methodElement) {
TypeMirror typeMirror = methodElement.getReturnType();
if (typeMirror.getKind() == TypeKind.DECLARED) {
TypeElement typeElement = (TypeElement) ((DeclaredType) type).asElement();
if (typeElement.getKind() == ElementKind.ENUM) {
// I wanted to get here...
}
}
}发布于 2020-10-09 06:35:02
我不太明白你的问题。
但是您可以使用if语句或更好的开关语句来比较值。
https://stackoverflow.com/questions/64274580
复制相似问题