注意: Scala 2.11以降、NotNull
非推奨になりました。
私が理解している限り、参照型をnull許容にしないようにする場合は、魔法の特性をミックスインする必要があります。コンパイラーは、その中に-able値をNotNull
入れることを自動的に防ぎます。たとえば、null
このメーリングリストスレッドを参照してください。
欠けているのは、null許容型ではないタイプに対する適切なライブラリサポートです。Javaコードを直接インターフェースする必要のないパッケージを作成したい場合、このパッケージのすべてのタイプがnull
デフォルトで使用されないようにしたい場合は、そのようにすべての構築変数を再定義するしかありません。
//can't actually do that, but just to give the general idea
class NString extends String with NotNull
class NMap[X,Y] extends Map[X,Y] with NotNull
...
私はscalaに(コンパイラプラグインまたはライブラリとして)私が書くためのオプションがあることを期待しています
import collections.notnull._
null
特定のscalaファイルでの使用を簡単に禁止するため。
標準ライブラリの多くの有用な型をnull許容でないように簡単に強制するオプションはありますか?