【发布时间】:2017-03-28 16:26:43
【问题描述】:
我正在尝试以这种方式构建一个类(使用 JavaPoet 库):
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();
}
但那不会很好。有什么建议吗?
【问题讨论】:
-
父亲是否 == null ? Object.class : 父亲的工作?
-
Smart 和 nice 的含义在这种情况下不是很清楚。请在它们的含义中添加一些详细信息。例如,不会很好 因为它添加了重复的代码
-
muzzlator-> 几乎正确:(father==null?ClassName.OBJECT:father) 但非常感谢! @GonzaloMatheu 谢谢!我会记住的!