3

この方法でクラスを構築しようとしています(JavaPoet libを使用):

theClass = TypeSpec.classBuilder(classe.getName())
                                    .addModifiers(javax.lang.model.element.Modifier.valueOf(classe.getProte().toString().toUpperCase()), Modifier.FINAL) //todo
                                    .addMethods(methods)
                                    .superclass(father)
                                    .addFields(fields)
                                    .build();

フィールド「父」が何もない場所。中に NULL を入れてみたのですが、このように例外が出てしまいます。スマートな書き方はありませんか?

私は次のようなものを書くことができます

if (father!=null){
   theClass = TypeSpec.classBuilder(classe.getName())
                                .addModifiers(javax.lang.model.element.Modifier.valueOf(classe.getProte().toString().toUpperCase()), Modifier.FINAL) //todo
                                .addMethods(methods)
                                .superclass(father)
                                .addFields(fields)
                                .build();
}
else{
   theClass = TypeSpec.classBuilder(classe.getName())
                                .addModifiers(javax.lang.model.element.Modifier.valueOf(classe.getProte().toString().toUpperCase()), Modifier.FINAL) //todo
                                .addMethods(methods)
                                .addFields(fields)
                                .build();
}

しかし、それは良くないでしょう。何かアドバイス?

4

2 に答える 2

1

これを試して:

if (father == null) {
  father = ClassName.OBJECT;
}

JavaPoet は正しいことを行います。

于 2017-03-27T03:02:56.660 に答える