|
我觉得这样好太多了。这也是 Kotlin 所支持的,可以在这里的类型定义中找到。
总之,我们能看到 Java 从它的竞争对手之一,也就是 Kotlin,那里“继承”了许多方案来解决自己的问题。我们不知道这次 Oracle 在对抗 Kotlin 的崛起方面是否及时做出了正确的反应,或许这有点太晚了。但我个人认为 Java 正在朝着正确的方向前进,尽管这些变化是由它的竞争对手以某种方式触发的,而且可能来得有点迟了。
如前所述,如果这篇文章激发了你学习 Kotlin 语言的兴趣,我建议你阅读“Kotlin in Action”,对于 Java 开发人员来说,这是一门很棒的 Kotlin 入门图书。
4. 结论
我认为竞争是 Java 语言有史以来所遇到的最好的事情。如果不这样,Java 就会作茧自缚。Java 的竞争对手也表明了不同的编程方式是可行的,它表明了前进的方向,并让我们避免使用老式的、陈旧的编写代码方式。
我最近在 Java 中看到了一些变化,以及所有即将发布的特性和改善,它们正在使 Java 变得比以往任何时候都更强大。它是一种适应当前时代的语言,一种希望发展并忘记传统做事方式的语言:Java 的新未来!
现在,我们不会在 switch 语句中遗漏 case 了,这是一项非常棒的特性。
这非常类似于 Kotlin 的 when 语句,你可以通过该地址了解该语句的更多信息。
接下来,我们看一下文本块。
文本块
你有没有遇到过将一个大的 blob JSON 赋值给 Java 变量的场景?你是否也受够了这种丑陋的代码?Java 将会引入多行字符串特性,我们可以通过将它们封装在三重引号中来定义它们。当这个功能被正式发布后,定义多行长字符串会更加容易。
我们来看一下两种模式的差异。假设我们想要将一个格式化后的 JSON 存储到一个变量中,那么丑陋的代码如下所示:
我们可以看到,新的 switch 语句可以用作表达式,而不仅仅是语句。
这样带来的结果就是更加简洁,也更具有表述性,这就足以说服我们使用它了。但是,现在的 switch 还有一个重要改善,那就是如果在 switch 中没有涵盖所有 case 的话,它将无法编译通过。它会显示如下错误:
这和我们前面所编写的一大堆代码是同样的效果,我们不得不承认:这非常棒!从要保存的代码数量和简洁性方面都是如此。
现在我们看看新的 switch 语句有什么不同。
改善 switch 语句
新的 switch 语句解决了在 Java 中使用 switch 语句的一些固有问题。我们一直以来都被教导应该避免使用 switch 语句,因为它们很容易出错并会导致代码重复。举例来说,我们很容易遇到某个 case 条件覆盖不到的场景。
新的 switch 语句解决了这个问题,因为如果我们的 switch 语句没有涵盖我们传递给它的领域类型的所有范围,它就无法编译通过。
为了阐述该例子,我们使用 Java 创建一个 DayOfTheWeek 枚举:

(编辑:鹰潭站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|