gpt4 book ai didi

java - 如何使用变量中提供的类型使用 GSON.fromJson ?

转载 作者:行者123 更新时间:2023-12-02 09:29:56 26 4
gpt4 key购买 nike

我想按以下方式使用 GSON.fromJSON:

Class<?> type = Abc.class;
Class<?> parametersObject = GSON.fromJson(parameters, type);

但是我在第二行遇到编译错误。如何推断以下行的返回类型?我知道在上面的例子中它会是 Abc 类型。但我想根据类型变量中指定的内容使其动态化。我怎样才能做到这一点?

最佳答案

使用下面的代码尝试一下。有一个关于?之间区别的问题和T在类和方法签名中,link .

public class Tests<T> {

@Test
public void test01() {
Tests<String> stringTest= new Tests<>();
System.out.println(stringTest.parseObject("testtestt", String.class));
}

public T parseObject(String parameters, Class<T> clazz) {
Gson gson = new Gson();
T obj = (T) gson.fromJson(parameters, clazz);
return obj;
}
}

``UPD:
声明<T> T方法的返回类型。

@Test
public void test02() {
String stringstring = parseObject02("stringstring", String.class);
System.out.println(stringstring);
List list = parseObject02("[1,2,3]", List.class);
System.out.println(list);
// output in console
// stringstring
// [1.0, 2.0, 3.0]
}

public <T> T parseObject02(String parameters, Class<T> clazz) {
Gson gson = new Gson();
T obj = gson.fromJson(parameters, clazz);
return obj;
}

关于java - 如何使用变量中提供的类型使用 GSON.fromJson ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58070935/

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