Примечание. Начиная с Scala 2.11, NotNull
устарел.
Насколько я понимаю, если вы хотите, чтобы ссылочный тип не допускал значения NULL, вам нужно подмешать волшебный признак 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?
org.jetbrains.annotations.NotNull
- и я тоже скучаю по нему. - person Martin   schedule 16.02.2013