我有一个名为testCheck的复选框。当用户检查此值时,该值变为TRUE。我可以通过以下方式实现TRUE / FALSE的比较
1
if (testCheck.getValue() == Boolean.TRUE) {
// Respective Code
}
2
if (testCheck.getValue().equals(Boolean.TRUE)) {
//Respective Code
}
3
if (testCheck.getValue()) {
//Respective Code
}
我的问题:
答案 0 :(得分:4)
这取决于....
如果testCheck.getValue()
的返回类型为boolean
,则第三个是正常的。
但如果是Boolean
(大B),我会这样做:
Boolean.TRUE.equals(testCheck.getValue())
在自动装箱期间避免使用NPE。
答案 1 :(得分:4)
答案:
所以预期的代码( 最少意外原则 )是
if (testCheck.getValue()) {
...
//Respective Code
}
答案 2 :(得分:1)
我更喜欢第三种选择。它很优雅。由于testCheck.getValue()
计算为布尔值,因此可以在if条件
在java中,使用==
运算符,我们正在检查两个引用是否在内存中引用相同的对象。
要检查两个对象是否有意义相等,请使用.equals()
方法。
答案 3 :(得分:1)
Is there any difference ?
可读性只有差异。
If yes, Which one is the best way of implementation ?
如果您希望快速阅读和理解您的代码,那么最后一个可能就是这样。
答案 4 :(得分:0)
有什么不同吗?
是的,有。
如果是,哪一种是最好的实施方式?
第3名。