Получите строковое значение enum, заключенное в Option, если не None в scala - PullRequest
0 голосов
/ 12 февраля 2020

Какой самый краткий scala способ сделать это?

Предположим, у меня есть опция enum, которая может быть None. Как вернуть строковое значение этого перечисления, если оно не None, и вернуть ноль в противном случае?

object En extends Enumeration {
  type En = Value
  val val1 = Value("value1")
}

val en = Option(En.val1) // or None

val strVal = if (!en.isEmpty) en.get.toString else null

Ответы [ 2 ]

6 голосов
/ 12 февраля 2020
en.map(_.toString).orNull
en.map(_.toString).getOrElse(null)

Но используйте это, только если вы взаимодействуете с Java - null s в Scala, поэтому вряд ли какая-либо библиотека примет их в качестве допустимых значений и не введя их самостоятельно, вы улучшите свою жизнь.

2 голосов
/ 12 февраля 2020

Я собираюсь предположить, что у вас есть очень веская причина (читай: Java interop) для того, чтобы хотеть null:

val strVal = en.map(_.toString).orNull
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...