- 传统instanceof的用法是先判断类型,然后用(type)进行强制类型转换,比较臃肿。
- 模式匹配的instanceof将类型判断与类型转换合二为一。
if(<变量> instanceof <目标类型> <目标变量>){
//使用模式变量——模式变量是目标类型
}
- 在目标类型后增加一个变量,当在目标类型后面声明该模式变量后,就相当于完成强转类型转换。

【instanceof模式匹配的模式变量有如下两个特征】
- 模式变量是代码块的局部变量,只有模式匹配的代码块内有效。



- 编译器会根据流程来判断模式变量是否有效。

本文介绍了传统instanceof的冗余性,提出模式匹配的instanceof方法,它结合了类型判断与转换,使用模式变量在目标类型后简化代码。模式变量仅限于匹配代码块内有效,编译器会自动管理其有效性。
456

被折叠的 条评论
为什么被折叠?



