gpt4 book ai didi

Javapoet 和泛型类声明

转载 作者:太空宇宙 更新时间:2023-11-04 10:14:14 25 4
gpt4 key购买 nike

如何让 javapoet 生成下面的 java 代码?

class B<T extends U> implements A<T> {

}

我知道有一个class WildcardTypeName ,但它只能生成? extends U? super U

我想要的是T extends U

最佳答案

在您的描述中,UA 应该是存在类。您可以使用以下代码。

public static void main(String[] args) throws IOException {
TypeVariableName t = TypeVariableName.get("T").withBounds(U.class);
TypeSpec type = TypeSpec.classBuilder("B")
.addTypeVariable(t)
.addSuperinterface(ParameterizedTypeName.get(ClassName.get(A.class), t))
.build();
JavaFile.builder("", type).build().writeTo(System.out);
}

它的输出是

import yourpackage.A;
import yourpackage.U;

class B<T extends U> implements A<T> {
}

关于Javapoet 和泛型类声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51915662/

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