我在Boolean.valueOf(String)
和BooleanUtils.toBoolean(String)
之间存在不同的问题
我使用我的应用程序就像代码BooleanUtils.toBoolean(defaultInfoRow.getFolderType())
而不是Boolean.valueOf(defaultInfoRow.getFolderType())
两者都正常工作。
我有一些问题
1.哪一个表现明智更好?
2.哪一个更快?
3.在哪种情况下更喜欢Boolean.valueOf(String)
?
由于
答案 0 :(得分:7)
使用API对您的应用程序最有意义的那个。当参数是字符串Boolean.valueOf(String)
时,true
会准确返回"true"
。 BooleanUtils
会将several common "true" values视为true
。性能问题非常小,无关紧要。
答案 1 :(得分:3)
您可以忽略效果
BooleanUtils
处理On
,True
,Yes
,Boolean.valueOf()
不
答案 2 :(得分:1)
每种方法的行为都不同。
因此,表现无关紧要。
您应该根据所需的行为进行选择:
当 想要返回 true 以获取等于“ true ”的输入时,请使用Boolean.valueOf()
。(不区分大小写)。< / p>
当您希望其他输入返回true时使用BooleanUtils.toBoolean()
(例如“ on ”或“ yes ”)。
如果对方法有疑问,请务必参阅文档:
答案 3 :(得分:1)
我不会在性能考虑方面做出选择。但是,如果我对使用外部第三方库(例如Apache commons lib)有限制,我会坚持使用标准JDK Boolean.valueOf(String)
,尽管我对String
输入的可能值有一些灵活性 - 请参阅早先的答案。
编辑 - 这试图回答OP问题中的第3点