社区
Java SE
帖子详情
关于Java和C#的类型对比理解的困惑
轻舟在过
2020-10-12 08:15:53
对Java的基本数据类型,我的理解是这样的,基本数据类型都是值类型,和Object类没有关系,而Java中其他的类型,即引用类型都是集成自Object类。对于C#,引用类型是继承自Object类,而基本数据类型(值类型)好像也是继承自object类(即system.Object),那他们既然都是object类的子类,那装箱拆箱到底装拆了个啥?还是我的理解有错误,这个问题纠结好久了,求大神指点迷津!
...全文
1929
3
打赏
收藏
关于Java和C#的类型对比理解的困惑
对Java的基本数据类型,我的理解是这样的,基本数据类型都是值类型,和Object类没有关系,而Java中其他的类型,即引用类型都是集成自Object类。对于C#,引用类型是继承自Object类,而基本数据类型(值类型)好像也是继承自object类(即system.Object),那他们既然都是object类的子类,那装箱拆箱到底装拆了个啥?还是我的理解有错误,这个问题纠结好久了,求大神指点迷津!
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用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中的装箱是将原始类型封装相应的引用类型,拆箱是提取引用类型中对应的原始类型值。
Java
的
类型
擦除:深入
理解
与应对策略
本文深入探讨
Java
泛型的核心机制——
类型
擦除,解释其在编译期移除泛型信息以保障向后兼容性的设计原理。分析了由此带来的限制,如无法创建泛型数组、不能实例化
类型
参数等,并介绍了
类型
令牌、超
类型
令牌及反射等应对策略。同时提供最佳实践建议,帮助开发者编写安全、灵活的泛型代码。
C#
之 int 挑战
Java
之 Integer
本文通过一段“诡异”的
Java
代码引入,探讨了
Java
中Integer对象缓存的设计原理及其带来的影响,并将其与
C#
中的int
类型
进行了对比,揭示了两者在设计思想和技术实现上的差异。
C#
的CTS
类型
本文深入解析
C#
中的基本预定义
类型
,如int、long、float等,介绍它们在.NET Framework中的实现方式,以及如何使用这些
类型
进行数据处理和转换。特别关注字符串
类型
(string)的特性与操作。
C++ 还是
JAVA
, 不要
困惑
了
本文探讨了
Java
和
C#
的选择问题,强调了语言本身并无优劣之分,关键在于设计思想的学习。作者建议初学者应专注于一门语言,深入
理解
其设计理念,并通过实践积累经验,最终成为合格的架构师。
C++/
Java
/
C#
泛型与模板机制深度对比:从实现原理到实战应用
本文深入剖析C++模板、
Java
泛型与
C#
泛型的底层实现机制:C++采用编译期代码生成与模式匹配,零运行时开销但易致代码膨胀;
Java
基于
类型
擦除,保障向后兼容但丧失运行时
类型
信息;
C#
依托CLR运行时特化,对值
类型
生成专用代码、引用
类型
共享代码,兼顾性能与反射能力。文章还系统对比了
类型
约束、协变逆变、典型应用场景(容器、比较器、DI解析)及性能特征,并总结各语言常见陷阱与最佳实践。
Java SE
62,620
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章