
两者之间最重要的区别是C#和Java泛型开始之间的区别:在Java泛型中基本上执行编译时检查并在通用字段等中包含一些元数据,但是实际的对象在执行时不知道它的泛型类型时间.您不能要求列表<?>那是什么换句话说就是任何对实现中的通用类型参数的引用基本上都是Object,所以arayList< String>真的是由Object []支持.在C#中,所有信息在执行时也可用,所以列表< string>由字符串[]支持.
类似地,C#泛型允许值类型类型参数,因此您可以使用List< int>在C#中,但不是Java.
在方差等方面有进一步的差异 – 但这从List< T>移动了很长的路.
就只是ArrayList< T> (Java)和List< T> (.NET),有两个区别:
> Java列表覆盖equals / hashCode,而它们不在.NET中
> ArrayList< T>通过将当前容量乘以3/2来增长; .NET的列表< T>而是改变当前的容量
当然,在暴露的API方面还有其他的差异 – 如果您能够提供更多关于您感兴趣的差异的信息,我们可以帮助更多.
总结以上是内存溢出为你收集整理的C#与Java – 通用列表全部内容,希望文章能够帮你解决C#与Java – 通用列表所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)