微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C#与Java – 通用列表

通用List类的C#和 Java实现有什么区别?

解决方法

那么,在Java List< T>是一个界面,开始:)

两者之间最重要的区别是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方面还有其他的差异 – 如果您能够提供更多关于您感兴趣的差异的信息,我们可以帮助更多.

原文地址:https://www.jb51.cc/csharp/94038.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐