3

VM パラメータからブール値をエレガントに取得するにはどうすればよいですか? 私の解決策は私ほど簡単ではありません

  1. それがnullかどうかをテストする必要があります。そうでない場合、IllegalArgumentExceptionが発生します

  2. 文字列全体を大文字または小文字に変換し、それが正確に「false」または「true」であるかどうかをテストする必要があります。そうしないと、同じ例外が顔にスローされます。

すなわち

    val property = System.getProperty("some.property.name")
    property != null && property.toLowerCase == "true"

これから抜け出す別の方法はありますか?ありがとう。

4

3 に答える 3

5

Scala には Java システム プロパティ API をラップするオブジェクトがあるので、代わりに をsys.props扱うことができます。Optionnull

sys.props.get("property.name") exists (_ equalsIgnoreCase "true")
于 2013-07-20T21:31:29.327 に答える
2
scala> "true" equalsIgnoreCase "TruE"
res0: Boolean = true

scala> "true" equalsIgnoreCase System.getProperty("does.not.exist")
res1: Boolean = false
于 2013-07-20T18:08:09.293 に答える