我尝试向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();
}
答案 0 :(得分:4)
您正在传递java.lang.reflect.Modifier.PUBLIC
,这确实是int
,但是
JavaPoet想要一个javax.lang.model.element.Modifier
,这是一个枚举。