gpt4 book ai didi

java - 使用 javapoet 构建类时返回正确类型化的对象

转载 作者:行者123 更新时间:2023-11-30 10:11:25 24 4
gpt4 key购买 nike

我正在使用注释处理器并使用 JavaPoet 从处理中生成输出类,但我似乎无法找到一种方法让生成的方法返回正确类型的对象。例如,我想要的输出是这样的……

public static final Map<String, Object> getObjects() {
return objects;
}

但是我只能让它做这样的事情......

public static final Map getObjects() {
return objects;
}

我在 MethodBuilder 中使用 returns 方法,但它需要一个适当的类作为返回类型,那么如何在构建方法时向方法添加修饰符之类的呢?这是我所拥有的一个简单版本...

MethodSpec.methodBuilder("getObjects")
.addModifiers(Modifier.PUBLIC, Modifier.STATIC)
.returns(Map.class)
.addStatement("return objects").build()

我试过到处搜索,但找不到此类问题的答案。我知道所有 map 在技术上都是如此,但我想避免在 android studio 中突出显示该死的未经检查的强制转换,而且在方法返回时没有正确的类型感觉是错误的。这是可能的,还是我应该接受突出显示并继续前进?谢谢。

最佳答案

类似的东西应该可以工作:

.returns(ParameterizedTypeName.get(ClassName.get(Map.class),
ClassName.get(String.class),
ClassName.get(Object.class)))

希望对您有所帮助。

关于java - 使用 javapoet 构建类时返回正确类型化的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52449669/

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