与Brian Goetz聊Java的模式匹配
InfoQ采访了来自Oracle的Java语言架构师Brian Goetz和编程语言研究员Gavin Bierman,谈论了有可能被集成到Java语言中的模式匹配。
\\动机
\\之所有要研究是否有可能在Java中加入模式匹配,主要还是为了改进Java的语言特性。假如有这样的一段代码:
\\\if (obj instanceof Integer) {\ int intValue = ((Integer) obj).intValue();\ // 使用intValue\ }\\\
这段代码做了三个操作:
\\- 判断obj是否是一个Integer类型 \\
- 将obj转成Integer类型 \\
- 从Integer中抽取出int \
现在再来看看在if...else结构的语句中判断其他类型。
\\\String formatted = \"unknown\";\if (obj instanceof Integer) {\ int i = (Integer) obj;\ formatted = String.format(\"int %d\