gpt4 book ai didi

java - 如何将泛型转换为 Class

转载 作者:行者123 更新时间:2023-12-02 04:32:23 25 4
gpt4 key购买 nike

我有这个代码:

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/

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