0

nullScala アプリが Java コードと対話する場合、Java メソッドによって返された処理が必要になることがあります。

この2つの方法のうち、どちらがよりスカラ慣用的ですか? どちらを使用する必要がありますか?

1.

val a = javaClass.javaMethod
if (a == null) 
  throw new IllegalArgumentException("Wrong param")
processA(a)

2.

val a = Option(javaClass.javaMethod)
processA(a.getOrElse(throw new IllegalArgumentException("Wrong param")))
4

2 に答える 2

0

私は、2番目のソリューションよりも明確な1番目のソリューションを好みます。

そして、Scala イディオムに洗練することができます。

require(a != null, "Wrong param")

OptionOptionは通常戻り値に設計されているため、この場合は適切ではありません。たとえば、List.find(...): Option.

于 2015-04-14T02:03:48.600 に答える