我正在使用 JavaPoet 生成给定字段列表的类。
生成一个接受这个字段列表并将其转换为参数列表的构造函数非常简单,如下所示:
val constructor = MethodSpec.constructorBuilder()
for ((fieldName, typeName) <- fields) {
constructor.addParameter(typeName, fieldName)
}
我还想生成一个实例化生成类的新对象的静态方法,这需要我生成一个使用上述字段列表的代码块。
目前,我正在通过以下方式实现这一目标:
method
.addStatement(s"return new $$T(${fields.map(_._1).mkString(", ")})", className)
它有效,但我想知道是否有一种更“惯用”的方式来使用 JavaPoet 来构建具有内置模板支持的参数列表。