被getBoolean騙了

        今天被Boolean.getBoolean給騙了。 接口

        事件還原:某個接口返回的數據中存在一個字段是true/false的String,在使用過程當中直接用Boolean.getBoolean(String str)來獲取該字段轉成布爾值。上線後老發現不許確。 事件

        通過仔細排查,發現這個getBoolean返回true的條件是:當且僅當以參數命名的系統屬性存在,且等於 "true" 字符串時,才返回 true;也就是說,這個地方上線後這裏獲取值一直就都是false。正確方法使用Boolean.parseBoolean來取值。 字符串

        通過此次事件:看看其餘包裝類是否有相似方法和問題: get

        System.out.println(Integer.getInteger("222"));
        System.out.println(Long.getLong("333")); 方法


        果真:以上2個的結果均爲null,你們在使用的過程當中注意,別被方法名給騙了。 命名

相關文章
相關標籤/搜索