简单的来说就是一个对象需要转换为另一种类型,我知道要转换的类型class,但是要把这个class写成动态的。
看下面伪代码,是我想要达到的效果:
Object obj = new Student();
public void cast(Object obj, Class clazz){
clazz result = (clazz)obj;
// 动态类型 实例 = (动态类型强制转换)obj;
}
就是我是明确知道要转换的类型class,但是不能直接写出来,需要动态的去绑定。这个要怎么去实现。
动态转换类型,可以写个工具类来实现,代码参考如下:
参数传入要转换的实例和目标类型,返回转换为目标类型的实例。
public static <T> T convert(Object obj, Class<T> var) {
return (T) obj;
}
如果你是想子类转父类,那直接向上转型就行啊,父类转子类也可以强转么,
如果是两个不相同的类型可以用type转,给你个参考代码:
public static <T>T typeConversion(Object source,T t) {
JSONObject updateJson = JSONObject.parseObject(JSONObject.toJSONString(source));;
JSONObject finishJson = JSONObject.parseObject(JSONObject.toJSONString(t));;
for (String str : updateJson.keySet()) {
finishJson.put(str, updateJson.get(str));
}
return TypeUtils.cast(finishJson,
(Type) t.getClass(),
ParserConfig.getGlobalInstance());
}
有不懂的可以问哦,求采纳!