T (*(*(*a)[N])())[M];
以上代码特定于“ User”类
我想像这样通用,
private static User yaml() throws IOException, JsonParseException, JsonMappingException {
ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
return mapper.readValue(new File("user.yaml"), User.class);
}
但是在T.class上出现错误, 有人可以建议吗?
答案 0 :(得分:0)
不幸的是,您无法获得想要的东西。
但是,您可以将Class<T>
作为输入参数提交给yaml(...)
。
您还必须考虑文件名,因为它不再只是user.yaml
。
一个解决方案就是将两者都作为参数传递
private static <T> T yaml(final Class<T> clazz, final String fileName) throws IOException, JsonParseException, JsonMappingException {
return MAPPER.readValue(new File(fileName), clazz);
}
我从方法中删除了ObjectMapper
创建,因为它是线程安全的,因此可以存储为static final
类字段。