java - 如何在 javapoet 中为 methodspec 添加修饰符?

标签 java code-generation javapoet

我尝试向方法规范添加一些修饰符,但我被困在参数上。参数来自 Modifier 类型。本教程说您可以只传递 Modifier.PUBLICModifier.PUBLIC 是一个整数值。我在这里错过了什么吗?这是我的(相当于github上的教程)代码:

public void generateCode(){
    MethodSpec main = MethodSpec.methodBuilder("main")
            .addModifiers(Modifier.PUBLIC, Modifier.STATIC)
            .returns(void.class)
            .addParameter(String[].class, "args")
            .addStatement("$T.out.println($S)", System.class, "Hello, JavaPoet!")
            .build();
}

最佳答案

你正在传递 java.lang.reflect.Modifier.PUBLIC,它确实是一个 int,但是 JavaPoet 想要一个 javax.lang.model.element.Modifier,它是一个枚举。

关于java - 如何在 javapoet 中为 methodspec 添加修饰符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45935327/

相关文章:

java - 如何在Spring boot上生成GeoJson?

sql - 如何在 TFDQuery 中找到唯一标识记录的数据库键?

java - 如何将两个类添加到同一个 .java 文件而不嵌套?

java - 如何在 JavaPoet 中添加一个参数化的 super 接口(interface)?

java - 用JavaPoet生成switch语句

java - Spring RDBMS 与 JDBCTemplate

java - 声明具有两个接口(interface)的泛型类型参数时如何避免不必要的转换

java - Apache Tomcat 应用程序的默认 session 超时

java - 如何防止 IntelliJ 在运行测试时删除从生成源编译的类?

code-generation - 使用javapoet构建带有开放参数列表的方法