满足多个条件的JAVA语句_关于Java:关于具有多个条件的If语句的快速问题

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:

&& (AND) and || (OR) in Java IF statements

这是一个我可能早在几年前就已经知道答案的问题,但是如果我正在用Java编写具有if(x!= null && y == null && x.equals(z))之类的if语句,那么这是安全的? 我假设if语句的条件是从左到右解释的,因此从头检查x!= null可以确保在条件的x.equals(z)部分上不会引发(至少由x引发)空指针异常。 这个准确吗?

最好通过咨询JLS来检查此类情况。 它非常严格,精确,可以免费使用,与C ++不同。

@Sergey:但是在stackoverflow.com上询问并在2分钟内得到4个答案要容易得多。

是。 这称为短路逻辑:http://en.wikipedia.org/wiki/Short-circuit_evaluation。

就像@mellamokb说的是短路。

如果您有这样的比较,我只会添加:

if (str != null && str.equals("FINAL STRING") {...}

更好地使用:

if ("FINAL STRING".equals(str)) {...}

通常选择第一种方法,但条件应尽可能简单:)

简短:是的,这是正确的。 :)

简短的答案:您这样做很好。

答案很长:您这样做很好,因为Java使用了一种称为短路布尔评估的东西。 在这里阅读

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值