- Kotlin编程实战:创建优雅、富于表现力和高性能的JVM与Android应用程序
- (美)文卡特·苏布拉马尼亚姆
- 277字
- 2025-02-27 12:54:49
6.3.1 类型检查
“这是一种特性还是缺陷?”是关于运行时类型检查的悬而未决的争论。偶尔检查对象的类型是必要的,但从可扩展性的角度来看,我们应该谨慎地使用它。当添加新类型时,检查任意类型会使代码变得脆弱,并导致开闭原则的失败——请参阅Agile Software Development, Principles, Patterns, and Practices [Mar02]。在编写检查运行时类型的代码之前,请多加考虑。
尽管如此,检查运行时类型在两种情况下是有用且不可避免的。一个是equals()方法的实现——我们需要知道手头的实例是否属于当前类。另一个是在when内,如果要采用的路径取决于实例的类型。
让我们首先看一下如何检查运行时类型,然后看一个很好的小特性,它可以在类型确认后消除强制转换带来的负担。