Y_csgoto 2020-03-12 08:49 采纳率: 66.7%
浏览 341
已采纳

为什么Java中随便一个类都可以被强转为List类且编译不出错呢?

最近用强转的时候发现了一个很奇怪的事,就是当我想把一个类转换为List时,编译器不会报错,但是如果想转成同为引用类型的String时,编译器就会说不能转,Lis请问t和String的区别在哪里呢?

List<?> l1 = (List<?>)fileWrite;//不报错
String s1 = (String)fileWrite;//编译器提示无法转换

求大神解答

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-03-12 13:24
    关注

    String虽然也是引用类型,但是它比较特殊,它是内置的类型,并且final不允许继承,所以编译器可以特殊检查。
    别的类型无法(或者说开销太大)所以不检查。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置