采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,视频中是对整体进行泛型类型的转换。我想单独对三目运算符的表达式3进行泛型转换,然后出现类型错误。第一次改进是在三目运算符的表达式3中加入泛型转换,是可以的。然后第二次改进,直接返回三目运算符的表达式3,也是可以的。ObjectMapper中的readValue方法的返回值已经是泛型的。
现在疑惑是,为什么第一次改进要进行泛型转化,而第二次改进又不需要?
你好,同学,这个是代码健壮性一个因素,还有 复杂泛型和单独泛型是两回事。例如之前只有Class就可以。但是后续要考虑泛型包装的问题。第二次改进应该是说用可变长参数那个函数吧?还有你说的第一次改进和第二次改进咱们不是在一个函数里的呀。。
老师,我解决了。jdk版本问题,我从1.7换成1.8后 return typeReference.getType().equals(String.class) ? (T)str : objectMapper.readValue(str,typeReference); 不会报错。度娘后发现 是Java 8的新特性:泛型目标类型推断。
非常感谢!
嗯嗯是的~~不用客气,很赞同学,和细心。挺好滴~~
登录后可查看更多问答,登录/注册
Tomcat集群+Redis分布式+代码重构+源码原理解析
1.6k 17
2.6k 12
1.7k 12
1.6k 11
1.9k 10