首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用JavaParser在新行上添加批注?

如何使用JavaParser在新行上添加批注?
EN

Stack Overflow用户
提问于 2021-03-19 04:31:52
回答 1查看 148关注 0票数 0

我想用javaparser给一个字段添加一个注释。

代码语言:javascript
运行
复制
public static String annotate() {
    String classString = new StringJoiner("\n")
            .add("class A {")
            .add("")
            .add("  @ExistingAnnotation")
            .add("  private int i;")
            .add("")
            .add("}")
            .toString();

    CompilationUnit cu = StaticJavaParser.parse(classString);
    LexicalPreservingPrinter.setup(cu);

    cu.findFirst(FieldDeclaration.class).get()
            .addAnnotation("Annotation")
            .addAnnotation(Nonnull.class)
            .addMarkerAnnotation("MarkerAnnotation");

    return LexicalPreservingPrinter.print(cu);
}

但与我预期的相反,添加的注释不会放在自己的行上,而是附加到同一行上的现有注释上

代码语言:javascript
运行
复制
import javax.annotation.Nonnull;

class A {

  @ExistingAnnotation @Annotation() @Nonnull() @MarkerAnnotation
  private int i;

}

相反,我想

代码语言:javascript
运行
复制
  @ExistingAnnotation
  @Annotation()
  @Nonnull()
  @MarkerAnnotation
  private int i;

这有可能吗?

EN

回答 1

Stack Overflow用户

发布于 2021-04-07 19:41:48

尝试使用以下命令打印:

代码语言:javascript
运行
复制
new DefaultPrettyPrinter().print(cu);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66698723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档