zoukankan      html  css  js  c++  java
  • Boolean.getBoolean()和Boolean.parseBoolean()

    分析Boolean.getBoolean()方法的真实返回值

    Boolean.getBoolean()解析

    String s = "true";
    System.out.println(Boolean.getBoolean(s));
    

    猜猜这个输出结果是什么?我当然觉得是true,但事实是很残酷的,输出false。 

    JDK文档上是这么解释这个方法的:

    getBoolean(String name) :当且仅当以参数命名的系统属性存在,且等于 “true” 字符串时,才返回 true。
    

    那么什么是当且仅当以参数命名的系统属性存在呢? 

    看这段代码:

    System.setProperty(s, "true");
    System.out.println(Boolean.getBoolean(s));//true
    

    这段代码就会输出true。所以Boolean.getBoolean()方法的真是作用应该是: 获取一个系统属性的boolean值,当系统属性的值equal(“true”)时,返回true,否则返回false,并且返回值是boolean型

    将String转成Boolean的正确做法

    Boolean.parseBoolean(),jdk文档说明如下:

    将字符串参数解析为 boolean 值
    

    来段代码演示一下:

    String s = "true";
    System.out.println(Boolean.getBoolean(s)); //false
    System.out.println(Boolean.parseBoolean(s)); //true
  • 相关阅读:
    HDU 2602
    ZOJ 1074 最大子矩阵和
    POJ 3903
    最大子段和
    HDU 1052
    CodeForces 18C
    CodeForces 546B-Soldier and Badges
    UVA 11462-Age sort
    Codeforces Round #326 (Div. 2)-Duff in Love
    Codeforces Round #327 (Div. 2)-Wizards' Duel
  • 原文地址:https://www.cnblogs.com/henuyuxiang/p/14713300.html
Copyright © 2011-2022 走看看