Boolean.getBoolean("myvariable"); // where myvariable has been defined in the
// Environment variable as Variable name:
// myvariable
// and Variable Value:true
以上调用为我输出false
。
如果我使用
System.getenv("myvariable") ;
然后它输出为true
。
我想知道为什么Boolean.getBoolean("myvariable")
无效。
答案 0 :(得分:12)
System.getenv
返回环境变量。这与返回 Java系统属性的System.getProperty
不同。
Boolean.getBoolean
使用后一种调用,如记录所示:
当且仅当参数指定的系统属性存在且等于字符串" true"时,才返回true。 [...]系统属性可通过
getProperty
访问,{{1}}是由System类定义的方法。
答案 1 :(得分:3)
Boolean.getBoolean("myvariable");
查找名为myvariable的系统属性,而System.getenv("myvariable");
查找环境变量。虽然相似,但它们并不相同。