В приведенном ниже фрагменте кода:Scala для понимания - решения нулевой
for {
strVal <- str
longVal <- str.strToLong
} yield longVal
где ул вариант [String]. Что делать, если вступает в силу Some (null)? Как справиться с этим в моем понимании?
Ну, как вы хотите, чтобы справиться с этим? Что вы хотите, когда 'str' является' Some (null) '? – rightfold
Я предполагаю, что вы имели в виду: 'для { strVal <- str; longVal <- strVal.strToLong } yield longVal' Вы можете использовать: 'strValNullable <- str; strVal <- Option (strValNullable); longVal <- strVal.strToLong' –
Я думаю, что простой ответ - «не делай этого». Весь смысл «Option» заключается в том, чтобы избежать необходимости в null. Если вы используете библиотеки Java, которые могут возвращать значение null, то как можно скорее выполните дезинфекцию значений с помощью конструктора 'Option()' apply, который преобразует 'null' в' None' – DNA