使用javapoet构建类时返回正确的类型化对象
我正在使用注释处理器,并使用JavaPoet从处理中生成输出类,但我似乎找不到让生成的方法返回正确类型的对象的方法。例如,我想要的输出是这样的使用javapoet构建类时返回正确的类型化对象,java,annotations,javapoet,Java,Annotations,Javapoet,我正在使用注释处理器,并使用JavaPoet从处理中生成输出类,但我似乎找不到让生成的方法返回正确类型的对象的方法。例如,我想要的输出是这样的 public static final Map<String, Object> getObjects() { return objects; } public static final Map getObjects() { return objects; } 我在MethodBuilder中使用returns方法,但它需要一个合适
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()
我试着到处找,但找不到这类问题的答案。我知道所有的贴图在技术上都是正确的,但我想避免在android studio中出现不受检查的强制转换高亮显示,而且在方法返回上没有正确的类型感觉是错误的。这是可能的,还是我应该接受突出显示并继续?谢谢。类似的方法应该可以:
.returns(ParameterizedTypeName.get(ClassName.get(Map.class),
ClassName.get(String.class),
ClassName.get(Object.class)))
希望有帮助