基于java doc,我对此没有合理的解释。有什么想法吗?
Boolean.getBoolean(Boolean.TRUE.toString()) == false
亲自看看: https://ideone.com/rKa2dS
在Java Doc中我没有告诉我为什么 https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html#getBoolean-java.lang.String-
答案 0 :(得分:8)
在您链接的文档中:
当且仅当参数命名的系统属性存在并且等于字符串“true”时,才返回true。
请注意重点。因此,如果存在名为Boolean.getBoolean("foo")
且值为true
的系统属性,则foo
会返回"true"
;如果没有其他值,则false
会返回boolean
如果您想要字符串的布尔值,请使用Boolean.parseBoolean(String)
(如果您需要Boolean
)或Boolean.valueOf(String)
(如果您想要@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
fm = getSupportFragmentManager();
Fragment_Main main = new Fragment_Main();
fm.beginTransaction()
.replace(R.id.mainContainer, main)
.commit();
/* Fragment_Main is a fragment with two buttons
* to either call fragment A or fragment B and
* mainContainer is a FrameLayout occupying the whole screen
*/
}
)。