这句话取出来的不就是String的类型吗,为什么还要用toString()转换

这句话取出来的不就是String的类型吗,为什么还要用toString()转换

这句话取出来的不就是String的类型吗,为什么还要用toString()转换


https://img1.sycdn.imooc.com/climg/656edef00972c67f27680120.jpg

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,info.get("roles")直接获取不是String类型,而是Object类型,如下所示:所以需要调用toString()方法转换为String类型。


https://img1.sycdn.imooc.com/climg/656ee24f090015be05570187.jpg

祝学习愉快!

  • AbelZephyr 提问者 #1

    他说返回Object,String类型不也是Object吗

    2023-12-05 16:47:59
  • 好帮手慕小尤 回复 提问者 AbelZephyr #2

    同学你好,1、String类型父类是Object类型,String类型转换为Object类型属于向下转换,是无法直接转换的。所以此时就需要转换类型。如此时调用toString()方法转换。

    https://img1.sycdn.imooc.com/climg/656ee69e09911f5c05950139.jpg

    2、如果是向上转换,则子类类型可以直接赋值给父类类型。如下所示:

    Object o = new String(); // 向上转换,将子类类型String赋值给父类Object
    String o = new Object(); // 直接出现编译性异常,无法实现赋值

    3、关于向上与向下转换同学可以复习第一阶段的Java多态(上)

    祝学习愉快!

    2023-12-05 17:12:22
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Java工程师 2024版
  • 参与学习       2020    人
  • 提交作业       1249    份
  • 解答问题       1202    个

2024重磅革新,超百小时内容豪华升级,加速提升高级技能与高薪就业竞争力 课程紧贴企业最新人才需求,历经7年持续迭代,帮助万名学子入行转行 从零起点到高阶实战,学习路径稳健顺滑,成就从小白到工程师高薪

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师