2017-08-29 2 views
2

J'essaye d'ajouter des modificateurs à un methodspec mais je suis bloqué aux paramètres. Les paramètres sont du type Modifier. Le tutoriel dit que vous pouvez simplement passer Modifier.PUBLIC mais Modifier.PUBLIC est une valeur entière. Est-ce que j'ai râté quelque chose? Ceci est mon (égal au tutoriel sur github) Code:Comment ajouter des modificateurs à methodspec dans javapoet?

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

'Modifer.PUBLIC' n'est pas un' int'. C'est de type 'Modifier', regardez ici: http://docs.oracle.com/javase/6/docs/api/javax/lang/model/element/Modifier.html?is-external=true – Sweeper

Répondre

4

Vous passez java.lang.reflect.Modifier.PUBLIC, qui est en effet un int, mais JavaPoet veut un javax.lang.model.element.Modifier, qui est un ENUM.

+0

Merci! Je ne peux pas croire que je n'ai pas vérifié les importations cependant. – LaaKii