在Play 2.0项目中使用Scala,我试图从配置文件中获取数据。
目前我使用以下代码提取字符串:
val foo = Play.current.configuration.getString("foo")
我原本希望得到一个String
对象,而是返回一个Option[String]
对象。
我找不到任何描述Option[T]
对象的Java文档,并调用toString()
返回Some( foo )
。
使用配置方法从配置中提取Boolean
和Int
值时也会发生同样的情况 - 即返回Option[Boolean]
和Option[Int]
。
任何人都可以解释这个Option[T]
对象是什么以及我如何以application
方法调用暗示它将被返回的形式访问我想要的值?
答案 0 :(得分:6)
在scala中,类型Option[T]
表示类型T
的可选值。如果您习惯使用Java术语,则可以将选项称为“可能为null
”的值。
在Play中,它们在获取配置时被使用,因为字符串可能不存在 - 如果您尝试使用Java读取它,它将返回null
。
要获取配置字符串,您可以使用getOrElse
,这样可以在配置字符串不存在时提供默认值:
val foo = Play.current.configuration.getString("foo").getOrElse("bar")