为什么我们通常使用||结束|?有什么不同?

2024-01-04

我只是想知道为什么我们通常使用逻辑或||两个布尔值之间不按位或|,尽管它们都运行良好。

我的意思是,看看以下内容:

if(true  | true)  // pass
if(true  | false) // pass
if(false | true)  // pass
if(false | false) // no pass
if(true  || true)  // pass
if(true  || false) // pass
if(false || true)  // pass
if(false || false) // no pass

我们可以使用|代替||?同样的事情与& and &&.


如果您使用|| and &&形式,而不是| and &对于这些运算符的形式,Java 不会费心去单独计算右侧操作数。

问题在于你是否想缩短评估时间——most你想要的时间。

说明短路好处的一个好方法是考虑以下示例。

Boolean b = true;
if(b || foo.timeConsumingCall())
{
   //we entered without calling timeConsumingCall()
}

正如 Jeremy 和 Peter 提到的,短路的另一个好处是空引用检查:

if(string != null && string.isEmpty())
{
    //we check for string being null before calling isEmpty()
}

更多信息 http://www.java-samples.com/showtutorial.php?tutorialid=65

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我们通常使用||结束|?有什么不同? 的相关文章

  • 使用多个窗口通过 Eclipse 进行调试

    我通常运行双显示器设置 因此我为同一工作区打开两个 Eclipse 窗口 显示不同的文件 当我调试并命中断点时 Eclipse 会切换到 调试 透视图 但它还会在我的两个窗口中显示断点所在的文件 行 即使包含断点的文件在一个窗口中打开 但在
  • java中可以有switch(java.lang.Object)吗?

    我的应用程序需要有类型的 switch case 语句String 我需要这样的东西 Object list1 list1 Object list2 list2 Object list3 list3 Object option list1
  • 如何按出现顺序创建 Java 文档?

    我有一个非常大的 java 类文件 其中有很多成员 如何为此创建 HTML 文档 以便它按出现顺序显示成员 而不按成员类型排序 方法 常量和变量 例如 如果我的 Java 代码是 private int typeOfAction 1 not
  • 将音频从 PC 传输到智能手机?

    2016 年圣诞节 我和我爸爸想用灯光和灯光为我们的社区举办一场灯光秀music We have the lights set up but the music is a problem We don t want to put huge
  • 导入的项目抛出 java.lang.ClassNotFoundException

    所以我将一个现有的项目导入到 eclipse 中 但让它工作时遇到了很多麻烦 该项目与其他三个图书馆项目一起提供 谷歌播放服务库 捕获活动 肖像二维码 As soon as I imported the project I went und
  • 为什么 java.util.concurrent.FutureTask 不可序列化

    我目前正在使用 Apache Wicket 我有一些 REST 调用 每个调用需要几秒钟 Wicket 只允许同步调用 ajax 所以我尝试使用 Future 和 Callable 这是我的课程的一部分 public abstract cl
  • 如何从号码选择器中跳过某些号码?

    选号器 np NumberPicker findViewById R id numberPicker1 np setMaxValue 200 np setMinValue 1 Button b Button findViewById R i
  • 如何解决 javax.net.ssl.SSLHandshakeException 错误?

    我通过 VPN 连接来设置库存 API 来获取产品列表 效果很好 一旦我从网络服务获得结果并绑定到用户界面 而且我将 PayPal 与我的应用程序集成在一起 以便在我拨打电话付款时进行快速结帐 但我遇到了此错误 我使用 servlet 进行
  • HTTP 状态 500 - servlet spring-dispatcher 的 Servlet.init() 引发异常

    我在学习春季MVC当我尝试运行 html 文件时 它给出错误 HTTP状态 500 Servlet init 对于 servlet spring dispatcher 抛出异常 这是我的 web xml
  • 快速排序应用程序中这些交换代码行的目的是什么?

    我试图理解快速排序的实现或应用程序以找到第 k 个最小元素 这是我试图理解的代码 public int quicksort int a int start int end int k if start lt end int pivot pa
  • 我应该在哪里以 Java MVC 模式调用我的 swingworker

    我有一个程序 其设置基本上与此 MVC 示例中的程序一样 http www leepoint net notes java GUI struct 40mvc html http www leepoint net notes java GUI
  • Java中对象类的继承

    当我读java书时 我遇到了 每个类都扩展类 Object 但是如果想要 B 类扩展 A 类 但是 B 类现在将具有多重继承 一个来自 Object 类 一个来自 A 类 如何解决冲突 谁能解释一下吗 它是多级继承 而不是多重 class
  • 从多个文本文件读取数据[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我是Java编程新手 我正在尝试打印
  • 使用可变参数绘制星形

    我的任务是编写程序 允许用户绘制星星 星星的大小和手臂数量可能不同 当我处理基本星时 我使用 GeneralPath 和点表进行处理 int xPoints 55 67 109 73 83 55 27 37 1 43 int yPoints
  • 手写签名对比

    有谁知道java中一种将手写文本样本 例如签名 亲笔签名等 与一个或多个样本进行比较的方法 最好是开源的 你可以看看这个OCR小程序 http www heatonresearch com articles 42 page1 html
  • 针对未经身份验证的用户的 Spring Security 404 页面

    我正在使用 Spring Boot 和 Thymeleaf 我有一个自定义 404 模板页面定义在src main resources templates error 404 html 当用户登录时这可以正常工作 然而 当他们注销时 他们不
  • 从字符串中删除特定字符[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何从字符串中删除特定字符 我有一个 Arraylist 测试数组 String line testingarray get index
  • 为什么 pagefactory 类在从另一个类初始化时返回 null

    在我的测试课上 我有DesiredCapabilities为 Appium 测试设置 在该课程中 我初始化了 BasePage 课程pagefactory元素 当我运行测试时 它按预期工作 现在 我尝试将 DesiredCapability
  • spring+hibernate 没有 xml 的映射类

    在我的 applicationContext xml 中 这就是我将 xml 映射到 POJO 的方式 如何将目录映射到类文件而不需要创建 xml
  • a.equals(a) 什么时候返回 false?

    我想知道在哪些情况下java中的变量不能相等 使用equals 方法 自身 我这里说的不是对象而是变量本身 只要代码编译并在调用 equals 时返回 false 到目前为止 我发现的唯一情况是 public class A public

随机推荐