java 如何在AnnotationProcessor中获取被注解类的包名?

bluesky1年前 ⋅ 108 阅读

ChatGPT的回答仅作参考:

可以使用以下代码在AnnotationProcessor中获取被注解类的包名:

```java
@Override
public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
    for (Element element : roundEnv.getElementsAnnotatedWith(MyAnnotation.class)) {
        String packageName = processingEnv.getElementUtils().getPackageOf(element).getQualifiedName().toString();
        // do something with the package name
    }
    return true;
}
```

其中,`processingEnv` 是 `javax.annotation.processing.ProcessingEnvironment` 类型的对象,可以通过 `init()` 方法中的参数获取。`getElementUtils()` 方法返回一个 `javax.lang.model.util.Elements` 类型的对象,可以通过该对象的 `getPackageOf()` 方法获取被注解类的包名。

全部评论: 0

    相关推荐