mit*_*hus 6 types casting scala
在Scala中编程,第2版.作者写道,"写作类型测试和演员表在Scala中相当冗长.这是故意的,因为不鼓励练习.你通常最好使用模式匹配类型模式." 在其他地方,他们重申使用这些结构是"穷人的风格".
我完全同意Scala的模式匹配语法要好得多,但它不是类型检查和类型转换的基本语法糖吗?或者我错过了什么?
Rex*_*err 14
它是糖,但它是非常有用的糖.你可以通过类型转换来解决真正的麻烦
isInstanceOf
在打电话前没有检查asInstanceOf
isInstanceOf
模式匹配正确地为您处理所有这些:您只获得一个实例(如果实际存在实例),它会对泛型发出警告,并在您有不完整匹配时发出警告.因此,在类型测试和演员表容易出错的情况下,模式匹配是稳健的并且鼓励良好的设计.