java中的Boolean.valueOf(String)和BooleanUtils.toBoolean(String)?

时间:2013-12-18 06:31:46

标签: java boolean

我在Boolean.valueOf(String)BooleanUtils.toBoolean(String)之间存在不同的问题  

我使用我的应用程序就像代码BooleanUtils.toBoolean(defaultInfoRow.getFolderType())而不是Boolean.valueOf(defaultInfoRow.getFolderType())两者都正常工作。

我有一些问题

1.哪一个表现明智更好?

2.哪一个更快?

3.在哪种情况下更喜欢Boolean.valueOf(String)

由于

4 个答案:

答案 0 :(得分:7)

使用API​​对您的应用程序最有意义的那个。当参数是字符串Boolean.valueOf(String)时,true会准确返回"true"BooleanUtils会将several common "true" values视为true。性能问题非常小,无关紧要。

答案 1 :(得分:3)

您可以忽略效果

BooleanUtils处理OnTrueYesBoolean.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点