自从我上次使用Java以来已经有几年了。 你能告诉我在Java中可以更优雅地解决哪些问题吗?
我知道Java的以下好处:
泛型如何 - 是否有优雅的Java示例无法用C#表示?或其他API或库?
谢谢,
JIRÍ
P.S。一些通用链接:
答案 0 :(得分:7)
Java泛型非常与C#泛型不同。是的,有些地方意味着它可以更优雅 - 通常在通配符和方差方面。另一方面,通配符通常知之甚少(而且我非常肯定将自己包含在该阵营中)并且整个类型擦除业务意味着通常我远更喜欢.NET泛型。
Java“赢得”IMO的一个相当不同的地方是它的枚举支持。 C#枚举基本上是命名数字 - Java更加面向对象。使用嵌套类在C#中可以实现 类似的效果,但是欢迎更多的框架支持(相当于EnumSet
)和交换机支持。
我也喜欢在Java中限制对包(命名空间)的可见性的能力 - 尽管这是我更喜欢C#的Java访问规则的唯一方面。
多年来广泛使用Java和C#,我自己的感觉是在语言层面上C#远远领先于Java。实际上,良好的跨平台支持和大量现有代码库是Java在此时仅有的两个重要优势。
答案 1 :(得分:-1)
在这种情况下,“更好的延迟”甚至意味着什么?
除此之外,我同意Jon Skeet。总的来说,C#是Java之前的光年。 Java中有一些巧妙的例子(例如枚举),但它们非常例外,而不是规则。