6

本のScalaでのプログラミング、第2版。、著者は次のように書いています。他の場所では、それらの構造を使用することは「スタイルが悪い」と繰り返しています。

Scala のパターン マッチング構文がはるかに優れていることには完全に同意しますが、基本的には型チェックと型キャストのための構文糖衣ではないでしょうか? または、何か不足していますか?

4

1 に答える 1

14

砂糖ですが、とても助かる砂糖です。型キャストで実際に問題が発生する可能性があります

  • isInstanceOf電話する前に確認しないasInstanceOf
  • ジェネリックが引数の型を知らないことを忘れるisInstanceOf
  • 渡される型のすべてのケースをカバーしていない

パターン マッチングは、これらすべてを正しく処理します。実際にインスタンスがある場合にのみインスタンスを取得し、ジェネリックについて警告し、不完全な一致がある場合は警告します。したがって、型テストとキャストがエラーを起こしやすい場合、パターン マッチングは堅牢であり、優れた設計を促進します。

于 2012-12-08T09:26:54.353 に答える