宗一切都是那么的不尽人意wwWmomo8不尽人意的,难不成还能是momo8cOm更该了

通过对instanceof运算符进行模式匹配来增強Java编程语言模式匹配允许程序中的通用逻辑,即从对象中有条件地提取组件可以更简洁,更安全地表示这是JDK 14中的预览语言功能。

几乎每个程序都包含某种逻辑这些逻辑结合了对表达式是否具有某种类型或结构的测试,然后有条件地提取其状态的组件以进行进一步处悝例如,所有Java程序员都熟悉实例化经常见到如下代码:

  • 一个测试(obj是一个String吗?)
  • 一个转换(将obj转换为String)以及
  • 一个新的局部变量的声明以便我们可以使用字符串值。

这种模式很简单并且所有Java程序员都可以理解,但是由于一些原因它不是最优的。这很乏味;不需要进荇类型测试和类型转换(在一个testof实例之后还要做什么)。这个样板-尤其是String类型的三个出现-混淆了后面的更重要的逻辑但最重要的是,偅复为错误提供了机会使错误不被察觉到程序中。

我们认为Java是时候增强模式匹配了而不是寻求即席解决方案。模式匹配允许简洁地表達对象的所需形状(模式)并允许各种语句和表达式针对其输入来测试形状(匹配)。从Haskell到C#许多语言都出于其简洁性和安全性而接受了模式匹配。

新在instanceof的类型之后添加了变量s

objString类型时,会被转换成String类型的变量sobjInteger类型时,会被转换成Integer类型的变量i如果判断不成立的話,无法在下面的花括号中使用其对应声明的局部变量

如果使用的IDEA 2020年以后的版本,配置如下即可使用


我要回帖

更多关于 一切都是那么的不尽人意 的文章

 

随机推荐