作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这个代码:
public class JsonFileHandler<T> {
public T getContent(File file) {
T t = null;
ObjectMapper mapper = new ObjectMapper();
if (!file.exists()) {
return null;
} else try {
t = mapper.readValue(file, T.class);
} catch (IOException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
return t;
}
}
但我在这一行收到编译错误:
t = mapper.readValue(file, T.class);
具有以下签名:
public <T> T readValue(File src, Class<T> valueType)
我该如何解决这个问题?
最佳答案
我认为你唯一的选择是匹配 readValue
的签名:
public T getContent(File file, Class<T> clazz) {
//
t = mapper.readValue(file, clazz);
//
}
或者,您可以在类构造函数级别执行此操作:
public JsonFileHandler(Class<T> clazz) { this.clazz = clazz; }
关于java - 如何将泛型转换为 Class<T>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31262954/
我是一名优秀的程序员,十分优秀!