为什么Boolean.getBoolean似乎永远不会返回true

Bob*_*bby -3 java

基于java doc我没有合理的解释.有任何想法吗?

Boolean.getBoolean(Boolean.TRUE.toString()) == false 
Run Code Online (Sandbox Code Playgroud)

亲眼看看:https: //ideone.com/rKa2dS

在Java Doc https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html#getBoolean-java.lang.String-中没有任何关于我的原因.

T.J*_*der 8

它是存在于您链接的文档:

当且仅当参数指定的系统属性存在且等于字符串"true" 时,才返回true .

请注意重点.所以Boolean.getBoolean("foo")返回true如果有一个名为系统属性foo与价值"true",而false如果没有一个或有其他值.

如果你想要字符串的布尔值,请使用Boolean.parseBoolean(String)(如果你想要的话boolean)或Boolean.valueOf(String)(如果你想要的话Boolean).