gpt4 book ai didi

java - 使用 java assist 将字段声明为参数化列表

转载 作者:行者123 更新时间:2023-12-04 03:11:47 28 4
gpt4 key购买 nike

我们可以像下面的代码一样声明字段。

evalClass.addField(CtField.make("private java.util.List abc;", evalClass));

我们如何声明字段 List<String> abc使用 Java 辅助?

最佳答案

对 CtField 类做了一些研究。我们可以通过setGenericSignature来设置。

        CtField f = new CtField(pool.get(List.class.getCanonicalName()), "abc", evalClass);
f.setGenericSignature(getGenericSignature(relatedClass));
evalClass.addField(f);

private String getGenericSignature(Class relatedClass) throws BadBytecode {
String fieldSignature = "L" + List.class.getCanonicalName().replace(".", "/") + "<L" + String.class.getCanonicalName().replace(".", "/") + ";>;";
return SignatureAttribute.toClassSignature(fieldSignature).encode();
}

关于java - 使用 java assist 将字段声明为参数化列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44674719/

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