gpt4 book ai didi

Java如何发送类参数中的类型

转载 作者:行者123 更新时间:2023-12-01 18:06:38 25 4
gpt4 key购买 nike

我想创建一个可以接受任何类类型并将其发送到另一个方法的方法。然后返回对象: 示例:

private Object getObjectFromData(Object object, String data) {
Object o = mapper.readValue(data,Object.class);
return o;
}

嗯,这有效。并且正是我想要的。但要调用这个函数,我必须初始化一个空项目:如下所示:

final Task t = new Task();
Task task = (Task)getObjectFromData(t,data);

是否可以以某种方式跳过该行:

final Task t = new Task();

?感谢您的回复。

最佳答案

传递Class实例:

private Object getObjectFromData(Class clazz, String data) {
Object o = mapper.readValue(data,clazz);
return o;
}

并按如下方式调用它:

Task task = (Task) getObjectFromData(Task.class, data);

您还应该使该方法通用(不要使用原始类型 Class 而是使用 Class<T> ),这样就无需进行强制转换:

private <T> T getObjectFromData(Class<T> clazz, String data) {

并按如下方式调用它:

Task task = getObjectFromData(Task.class, data);

关于Java如何发送类参数中的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35941337/

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