Gson.fromJson为什么需要传入Class类型

来源:3-5 Java 泛型的实现机制是怎样的?

2021冲冲冲

2020-04-18

老师好, 你在视频中提到Gson.fromJson需要传入Class类型是因为返回值T被类型擦除成object, 所以不知道返回什么具体对象.
可是后面不是说可以通过字节码里面附加的签名信息拿到返回对象具体类型吗?
这两个有矛盾吗,还是说Gson.fromJson只是没有去通过签名信息去获取返回值而已?
谢谢.

写回答

2回答

bennyhuo

2020-04-18

反射得解析签名信息,而且只有在调用的时候才有这个信息,而fromJson在定义的时候是没有这个信息的。

0
2
bennyhuo
对,要传进去,typetoken也是一样的道理
2022-02-03
共2条回复

2021冲冲冲

提问者

2020-04-18

//img.mukewang.com/szimg/5e9a682d099ef12828701818.jpg

看了下源码, 是因为获取泛型签名信息还是需要通过具体的类名, 去获取这个类的具体携带的泛型参数, 是这样吗?

0
0

大厂资深面试官 带你破解Android高级面试

改变视野和思维 深度与广度兼备的 Android 进阶面试指导课程

1636 学习 · 222 问题

查看课程