4

使用 Scala,在 Play 2.0 项目中,我试图从配置文件中获取数据。

目前我使用以下代码提取字符串:

val foo = Play.current.configuration.getString("foo")

我原以为会取回一个String对象,但是却Option[String]返回了一个对象。

我找不到任何描述Option[T]对象并调用toString()返回的 Java 文档Some( foo )

当使用配置方法从配置中提取BooleanInt值时也会发生同样的情况 - 即,Option[Boolean]Option[Int]返回。

谁能解释这个Option[T]对象是什么以及我如何以application方法调用暗示它将被返回的形式访问我想要的值?

4

1 回答 1

6

在 scala 中, typeOption[T]表示 type 的可选值T。如果您习惯于 Java 术语,则可以将 Option 称为“可能是的值null”。

在 Play 中,在获取配置时使用它们,因为字符串可能不存在 - 如果您尝试使用 Java 读取它,它将返回null.

要获取配置字符串,您可以使用getOrElse,如果配置字符串不存在,您可以提供默认值:

val foo = Play.current.configuration.getString("foo").getOrElse("bar")
于 2012-10-27T16:50:08.120 回答