据我了解,我们应该避免null在 Scala 中使用。如果某些字段在逻辑上不具有“无值”,那么我们不应该使用Option以避免过度使用Options。
所以让我们看看代码。我有课
case class User (name: String)
而且我 100% 确定该name字段不能null,因此我只使用String了Option[String].
问题是一些标准的 Scala 方法返回给我Option。(在我的情况下,该IterableLike#find方法返回选项)
所以问题是我如何User在name包装后创建实例Option?稍微清楚一点,这是代码:
val userName: Option[String] = myList.find(...)
val user = User(userName.get) // or may be I should use userName.orNull ? or throw exception?
我听说这Option.get不是优雅的解决方案。orNull方法几乎相同get。