gpt4 book ai didi

java - 使用javapoet生成静态类初始值设定项

转载 作者:行者123 更新时间:2023-11-30 03:27:33 26 4
gpt4 key购买 nike

是否可以使用 javapoet 生成静态初始化程序?请参阅下面我尝试生成的示例:

class Foo {
static int one = 1;
static int two = 2;
static int sum;

static {
sum = one + two;
}
}

我尝试添加静态初始化程序作为构造函数 static修饰符:

TypeSpec.classBuilder("Foo")
.addField(FieldSpec.builder(int.class, "one", Modifier.STATIC).initializer("1").build())
.addField(FieldSpec.builder(int.class, "two", Modifier.STATIC).initializer("2").build())
.addField(int.class, "sum", Modifier.STATIC)
.addMethod(MethodSpec.constructorBuilder()
.addModifier(Modifier.STATIC)
.addCode("sum = one + two;")
.build())
.build();

但这会产生 static Foo() { ... }而不是static {...} ,这是不正确的语法。

有办法吗?

最佳答案

这无法通过撰写本文时的最新版本 1.0 来完成。

但是,有一个拉取请求来解决此问题 ( https://github.com/square/javapoet/pull/257 ),希望在下一个版本(最有可能是版本 1.1)之前合并该请求。

关于java - 使用javapoet生成静态类初始值设定项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29828721/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com