にオプションパラメータから値を取得します。私は、パラメータScalaの
case class Envelope(subject: Option[String]) {
}
を持っていると私は、被験者が非nullである場合にのみ、必要機能を適用したいです。以下のような
何か:
require(StringUtils.isNotBlank(subject))
にオプションパラメータから値を取得します。私は、パラメータScalaの
case class Envelope(subject: Option[String]) {
}
を持っていると私は、被験者が非nullである場合にのみ、必要機能を適用したいです。以下のような
何か:
require(StringUtils.isNotBlank(subject))
必要な関数呼び出しを変更する必要があり、次の
require(StringUtils.isBlank(subject.get))
.get
方法には、subject
Option
が運ぶという文字列を返します。
また、これを試すことができます。
case class Envelope(subject: Option[String])
def check(en: Envelope): Boolean = {
require(en.subject.isDefined)
true
}
それが微細になり、あなたがStringUtils
をインポートする必要はありません。
Option
から値を取得するには、getorElse
に行ってください。ここでは、変数のデフォルト値を定義できます。例:
def check(str: Option[String]): String = {
str.getOrElse("")
}
scala> check(None)
res1: String = ""
scala> check(Some("Test"))
res2: String = Test
それはNone
を取得する場合にのみget
が例外をスローします。例:
def check(str: Option[String]): String = {
str.get
}
scala> check(Some("Test"))
res2: String = Test
scala> check(None)
java.util.NoSuchElementException: None.get
at scala.None$.get(Option.scala:347)
at scala.None$.get(Option.scala:345)
at check(<console>:24)
... 48 elided
私はあなたがその道を行くことができると思います。
subject.map(s => if(StringUtils.isNotBlank(s)) require(s) else s)
'Option'が空の場合はどうしますか?あなたはその機能を実行したくないのですか? –