码迷,mamicode.com
首页 > 编程语言 > 详细

Java和C#的一些区别,不定期补充

时间:2020-06-30 20:38:54      阅读:68      评论:0      收藏:0      [点我收藏+]

标签:补充   实现   方法表   自己   就是   arraylist   技术   编译   java语言   

  1. Object
  • Java所有引用类型父类都是Object(所以基础类型和Object不能强转)
  • C#万事万物基于Object(包括值类型与引用类型)
  1. 泛型
  • Java的基础类型不能用泛型,因为不能强转为Object。Java泛型在编译后实际上放入时都是先强转Object类型,在取出的时候强转为实际类型。这叫做“类型擦除”。对于运行期的Java语言来说,ArrayList与ArrayList就是同一个类,所以说泛型技术实际上是Java语言的一颗语法糖。
Object o = (Object)1; //这种代码可以编译运行,是因为有个装箱操作,别误会了
  • C#任何类型都可以用作泛型。因为在IL语言中,泛型就是一个占位符。List与List就是两个不同的类型,它们在系统运行期生成,有自己的虚方法表和类型数据,这种实现称为“类型膨胀”。

Java和C#的一些区别,不定期补充

标签:补充   实现   方法表   自己   就是   arraylist   技术   编译   java语言   

原文地址:https://www.cnblogs.com/zhoushiya/p/13215638.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!