当前位置:  开发笔记 > 编程语言 > 正文

Java比C#更优雅的例子?

如何解决《Java比C#更优雅的例子?》经验,为你挑选了1个好方法。

自从我上次使用Java以来​​已经有几年了.你能告诉我在Java中可以更优雅地解决哪些问题吗?

我知道Java的以下好处:

Java'到处运行',

Java支持单位和措施

(据说)Java中的延迟更好

J2EE(我不认为.Net中有等价物)

对泛型的不同方法(使用奇怪的循环定义,如"Enum>",见Ken Arnold)

什么是泛型 - 是否有优雅的Java示例无法用C#表示?或其他API或库?

谢谢,

吉日

PS一些一般链接:

维基百科比较文章

比较Java和C#Generics - Jonathan Pryor的网络日志

Jon Skeet.. 7

Java泛型与C#泛型非常不同.是的,有些地方意味着它可以更优雅 - 通常在通配符和方差方面.在另一方面,通配符一般知之甚少(我很肯定自己包括在营地)和类型擦除的全业务意味着在一般我远远更喜欢.NET泛型.

Java"赢得"IMO的一个相当不同的地方是它的枚举支持.C#枚举基本上是命名数字 - Java更加面向对象.类似的效果可大多使用C#中的嵌套类来实现,但更多的框架支撑件(一个相当于EnumSet)和开关支撑将受到欢迎.

我也喜欢在Java中限制对包(命名空间)的可见性的能力 - 尽管这是我更喜欢C#的Java访问规则的唯一方面.

多年来我已经广泛使用了Java和C#,我自己的感觉是在语言层面上C#远远领先于Java.实际上,良好的跨平台支持和大量现有代码库是Java在此时优于C#和.NET的两个显着优势.



1> Jon Skeet..:

Java泛型与C#泛型非常不同.是的,有些地方意味着它可以更优雅 - 通常在通配符和方差方面.在另一方面,通配符一般知之甚少(我很肯定自己包括在营地)和类型擦除的全业务意味着在一般我远远更喜欢.NET泛型.

Java"赢得"IMO的一个相当不同的地方是它的枚举支持.C#枚举基本上是命名数字 - Java更加面向对象.类似的效果可大多使用C#中的嵌套类来实现,但更多的框架支撑件(一个相当于EnumSet)和开关支撑将受到欢迎.

我也喜欢在Java中限制对包(命名空间)的可见性的能力 - 尽管这是我更喜欢C#的Java访问规则的唯一方面.

多年来我已经广泛使用了Java和C#,我自己的感觉是在语言层面上C#远远领先于Java.实际上,良好的跨平台支持和大量现有代码库是Java在此时优于C#和.NET的两个显着优势.

推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有