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

时间:2017-08-29 09:24:25

标签: java code-generation javapoet

我尝试向methodspec添加一些修饰符,但我坚持参数。参数来自Modifier类型。教程说你可以传递Modifier.PUBLIC,但Modifier.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();
}

1 个答案:

答案 0 :(得分:4)

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