gpt4 book ai didi

java - 如果我知道它的名字,如何转换对象?

转载 作者:搜寻专家 更新时间:2023-11-01 09:05:24 24 4
gpt4 key购买 nike

我在字符串变量 model 中有类名,所以我想将一个对象转换为该加载类 ba 反射的类型

我加载的类名是“Notification”,它写在字符串变量model

String model = "Notification";   
Class<?> cls = Class.forName("biznea.zredzic.pojo."+model);

所以我有抽象类 PojoAbstract,它扩展了所有 pojo 类,因为它是 cls 或者它实际上是 Notification.class

public class Notification extends PojoAbstract{...}

现在我想将其转换为 cls 真实类类型 (Notification)

WHAT_TO_PUT_HERE po = (WHAT_TO_PUT_HERE) gson.fromJson(json.toString(), cls);

我不想poPojoAbstract类型我希望它是Notification类型

我希望我是清楚的:S

最佳答案

你应该使用方法 public T cast(Object obj) Class<T> .

Object o = cls.cast(gson.fromJSon(json.toString(), cls));

但是您不能直接分配给静态声明,因为在编译时您不知道类型。您必须尽可能保持声明的非特定性,因为您不能在编译时假设任何东西。

关于java - 如果我知道它的名字,如何转换对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12237311/

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