c# - Java 7 以后应该有哪些特性来鼓励从 C# 转换?

标签 c# java programming-languages language-features

C# 目前势头良好。为了切换(或返回)Java,您需要具备哪些功能?

如果人们为当前的 Java 版本发布了这些解决方法,这也将非常有用,例如Nullables 被包裹在自定义类中,使其成为一个更有趣的 wiki。

最佳答案

作为 .NET/C# 开发人员,这里缺少让我烦恼的功能。这个列表没有特别的顺序 - 就像想到的一样:

  1. Java 库太小。对于常见的事情,我必须在 5 种相互竞争的开源产品中进行选择,因为基础库在很多方面都缺乏。
  2. 这是一种面向对象的编程语言吧?为什么原始类型不继承自“对象”?
  3. 指针
  4. Lambdas
  5. 关闭
  6. 部分类和部分方法
  7. 真正支持泛型
  8. 使用语句和 Dispose - 这对我来说是一个真正的 WTF。您确实必须明确关闭 try/catch block 中的连接。可怜的 Java 家伙!
  9. Yield return会很好
  10. 无符号整数 - 又是 WTF?我必须再次使用大于我需要的数字类型用于什么目的?
  11. 在 Java 中,您可以从 try/catch 的最终 block 返回。一位同事以这种方式引入了一个错误,把我弄糊涂了好几个小时。应该像在 C# 中一样禁止这种行为。

我很少使用 Java,当我使用 Java 时,我有各种 WTF 时刻。

编辑:我删除了 for-each 注释,因为它不再是自 1.5 以来缺少的 Java 功能。

关于c# - Java 7 以后应该有哪些特性来鼓励从 C# 转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1594917/

相关文章:

c - 被告知我的 C 程序是 "hard coded",我不明白为什么

programming-languages - 为 Windows 脚本宿主 (WSH) 编写语言

c# - 必须使用 OUTPUT INTO 声明标量变量 '@ID'

c# - 使用MVC, Entity Framework 找不到程序集引用

java - Web服务动态数据传输和验证

java - 单独类中的线程如何将数据传递给主类

java - SWT 图像到 Base64 字符串

python - 一个 PYTHON 程序,从数字文件中获取输入并计算平均值

c# - 哪个 C# 连接器支持嵌入式 MySql?

c# - 将数组转换为简单字符串的 C# 方法/语法是什么?