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

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使用了一种称为短路布尔评估的东西。 在这里阅读

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

  1. java基础语句_【Java基础-Java语言基础】

    知识点:1.关键字 2.标识符 3.变量和常量 一.关键字 1.Java中的关键字有很多一共53个关键字有两个是保留字(java的关键字都是小写的!!) 2.Java中的保留字 (1)const 常量 ...

  2. java 删除语句_是java语句

    <21天学通Java(第7版)>-- 第2章 Java编程基础 2.1 语句和表达式 本节书摘来异步社区<21天学通Java(第7版)>一书中的第2章,第2.1节,作者: [美 ...

  3. java任何表达式都可以当作语句_在Java语言中语句用分号终止,并不是所有的表达式都可以构成语句...

    在Java语言中,语句以分号":"作为结束标志.块语句由其他语句组成,其本身不需要用分号结尾.另外,内嵌有块语句并以块语句结尾的语句,也不需要用分号结尾. Java语句可分为空语句 ...

  4. java switch case语句_在Java中使用switch Case语句的例子

    当我们有多个选项,并且需要为每个选项执行不同的任务时,就需要使用Switch case语句. Switch case语句的语法如下-switch (variable or an integer exp ...

  5. java 示例_最佳Java示例

    java 示例 什么是Java? (What is Java?) Java is a programming language developed by Sun Microsystems in 199 ...

  6. resultset java 类型_关于JAVA中Resultset的类型

    JAVA中Resultset是一个类 而不是一个方法.记住啊. 结果集(ResultSet)是数据中查询结果返回的一种对象,可以说结果集是一个存储查询结果的对象,但是结果集并不仅仅具有存储的功能,他同 ...

  7. java异常_聊聊Java中的异常及处理

    前言 在编程中异常报错是不可避免的.特别是在学习某个语言初期,看到异常报错就抓耳挠腮,常常开玩笑说编程1分钟,改bug1小时.今天就让我们来看看什么是异常和怎么合理的处理异常吧! 异常与error介绍 ...

  8. db2 如何导出insert语句_《MySQL 入门教程》第 23 篇 DML 语句之插入数据

    文章来源:https://blog.csdn.net/horses/article/details/108287687 原文作者:不剪发的Tony老师 来源平台:CSDN 数据库的基本操作包括增.删. ...

  9. java 键入_在Java中键入Safe SQL

    java 键入 字符串,字符串,字符串 无论您使用的是JPA , MyBatis还是Spring Data JDBC之类的框架,总会最终将SQL语句声明为Java String. 这种方法的问题在于, ...

最新文章

  1. SearchHit转成java对象_Java开发中最常犯的10个错误,你中招了吗?
  2. SuperMap iClient for Leaflet入门学习
  3. pycharm git 超详细教程
  4. mysql 可重复读 悲观锁_一文带你理解脏读,幻读,不可重复读与mysql的锁,事务隔离机制...
  5. (jQuery,Highcharts)前端图表系列之一 --Highcharts (转)
  6. Jm86中的encode_one_macroblock注释
  7. vuex Payload 荷载
  8. Linux搭建高并发高可用Redis集群
  9. blog error #include stream.h
  10. 悲苦手机命,“熬”在新零售
  11. Java 错误:找不到或无法加载主类(源文件中含有包名 package)
  12. 两款强大的PC优化工具推荐,CleanMyPc与Memreduct
  13. NIOS ii 实战篇 --- 按键控制LED
  14. ESP32|基于ESP32制作的低成本、可拓展性高的NES游戏机(1)(开源ESP32 NES模拟器)-效果演示及介绍
  15. 高等数学入门教程 — 自然底数e
  16. 泛微考勤加班流程,有重复的时间段不让提交
  17. 前端实现3D旋转木马相册
  18. 论文阅读笔记 - Chubby: The Chubby lock service for loosely-coupled distributed systems
  19. python输入一组数据找出被七除余一的数_C程序设计实验-1-7.doc
  20. 查看不到网络上的计算机和设备,Win10 无法看到局域网中的其他计算机及网络打印机...

热门文章

  1. 【转载】某牛逼的文章《曝光一下我开发的游戏项目的日报周报 》
  2. 飞鸽传书是怎么就变成飞秋了的?
  3. 就要有鹤立鸡群的HTML5资本
  4. 飞秋官方下载 访问我博客也有近一半的用户
  5. 不要惊奇这种观点400电话
  6. HTML5 API详解(17):Web SQL DataBase本地数据库
  7. linux内核路由反向检查,Linux路由设置 反向路由设置
  8. 漫画 | 让设计师崩溃的十个瞬间
  9. Adobe illustrator 抽丝剥茧选中多个点 - 连载 13
  10. 生信宝典之傻瓜式 (五) - 文献挖掘查找指定基因调控网络