关于Java和C#的类型对比理解的困惑

轻舟在过 2020-10-12 08:15:53
对Java的基本数据类型,我的理解是这样的,基本数据类型都是值类型,和Object类没有关系,而Java中其他的类型,即引用类型都是集成自Object类。对于C#,引用类型是继承自Object类,而基本数据类型(值类型)好像也是继承自object类(即system.Object),那他们既然都是object类的子类,那装箱拆箱到底装拆了个啥?还是我的理解有错误,这个问题纠结好久了,求大神指点迷津!
...全文
1895 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
王大师王文峰 2020-10-13
  • 打赏
  • 举报
回复
装箱:基本类型转变为包装器类型的过程。Object a = 1; 拆箱:包装器类型转变为基本类型的过程。Interger.vauleof(a);
CDboyOne 2020-10-13
  • 打赏
  • 举报
回复
C# 中的值类型隐式地基于 ValueType 类型(当然,一般不应该显式地继承它)
鸡窝里的毛 2020-10-12
  • 打赏
  • 举报
回复
C#更纯粹点(真正做到了一切都是对象),没有Java中的原始类型。C#中的值类型的引用类型的区别在于属性值是否基于考备,C#中的装箱就是所有变量转换成Object来操作,拆箱就是转换成具体类型来操作。Java中的原始类型不是Object,Java中的装箱是将原始类型封装相应的引用类型,拆箱是提取引用类型中对应的原始类型值。

62,627

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧