在阅读 AtomicStampedReference 的源码中,在 compareAndSet() 方法发现一段代码:

return

expectedReference == current.reference &&

expectedStamp == current.stamp &&

//上方条件全部符合且为True时,执行下方代码

((newReference == current.reference &&

newStamp == current.stamp) ||

casPair(current, Pair.of(newReference, newStamp)));

即在 return 执行方法,并获取最终结果。我编写了一段代码用以测试:

public class Main {

public static void main(String[] args) {

Main main = new Main();

System.out.println(

main.executeIsTrue()

);

System.out.println();

System.out.println(

main.executeIsFalse()

);

}

boolean executeIsTrue() {

return

//这行判断结果为True,可以执行say(String word)方法

(retTrue() && retTrue()) &&

//上述两条都为True,则执行下面代码

(print("OK"));

}

boolean executeIsFalse() {

return

//这行判断结果为False,不能执行say(String word)方法

(retTrue() && retFalse()) &&

//上述两条都为True,则执行下面代码

(print("OK"));

}

boolean retTrue() { return true; }

boolean retFalse() { return false; }

boolean print(String word) { System.out.println(word); return true; }

}

得到返回结果:

OK

true

false

System.out.println(true && false); //结果为false

System.out.println(true && true); //结果为true

System.out.println(false && false); //结果为false

System.out.println(false && true); //结果为false

即充分利用判断运算符(&&、||)返回 boolean 的短路,实现在 return 中实现类似 if 语句的判断。

java 短路判断_随笔 | 奇淫技巧 | Java:记 return 和短路运算符的妙用相关推荐

  1. 50个Pandas的奇淫技巧:向量化字符串,玩转文本处理

    大家好,我是小伍哥. 数据处理,也是风控非常重要的一个环节,甚至说是模型成败的关键环节.因此,娴熟简洁的数据处理技巧,是提高建模效率和建模质量的必要能力.这里开个专题,总结下Pandas的使用方法,方 ...

  2. JavaScript:探索神秘的旁门左道奇淫技巧

    引言: JavaScript作为一种广泛使用的编程语言,具有出色的灵活性和强大的功能.除了其常规用途外,它还隐藏着一些奇淫技巧,这些技巧可以让你在编程过程中事半功倍.本文将揭示JavaScript的一 ...

  3. 【算法练习】80.字符串轮转——奇淫技巧

    [算法练习]80.字符串轮转--奇淫技巧 ⭐加入组队刷题,每日一题,每天进步⭐ 看完大家的操作,感觉自己太傻了 --leetcode此题热评 前言 哈喽,大家好,我是一条. 糊涂算法,难得糊涂 点击跳 ...

  4. 【JavaScript】转载:JS高端奇淫技巧

    转自 : https://blog.csdn.net/github_38885296/article/details/91038735 感谢作者(流浪的狗和一坨屎)分享 众所周知, JavaScrip ...

  5. JavaScript奇淫技巧:反调试

    JavaScript奇淫技巧:反调试 本文,将分享几种JS代码反调试技巧,目标是:实现防止他人调试.动态分析自己的代码. 检测调试,方法一:用console.log检测 代码: var c = new ...

  6. 【Python奇淫技巧】用pandas的read_html函数仅一行代码实现网页爬虫

    目录 一.介绍read_html()函数 二.分析爬取目标页面 三.代码讲解 四.同步视频讲解 一.介绍read_html()函数 喜欢Python编程的小伙伴你知道吗,python的pandas库除 ...

  7. JavaScript奇淫技巧:压缩并加密图片

    本文将用JavaScript实现两个颇有技术含量的功能:压缩图片.加密图片. 直入正题: 一.压缩图片 压缩原理: 将图片读入canvas,并使用canvas的toDataURL方法将图片base64 ...

  8. SpringCloudOpenFeign奇淫技巧

    SpringCloudOpenFeign奇淫技巧 feign之requestInterceptor使用 requestInterceptor 一般使用场景:添加token.Authorization. ...

  9. JS高端奇淫技巧(持续更新)

    众所周知, JavaScript是一门很骚的语言, 写一句话有很多种表达方式, 语法怪异而风骚, 自由而散漫, 或许这就是JS成为最流行语言的原因吧. 本文收集了JS开发中常用的各种奇淫技巧, 一句话 ...

最新文章

  1. 宾阳 计算机 培训,宾阳县职业技术学校
  2. 将shell脚本转为python_shell脚本将python脚本加入Linux系统服务
  3. python中ans的用法_Python的一些用法分享
  4. 计算机网络电信号误差,用0V~5V方式传输远方温度信号的弊端
  5. DLL的Export和Import及extern
  6. 机器学习实战—朴素贝叶斯及要点注解
  7. linux+yum安装终端php,centos下yum搭建安装linux+apache+mysql+php环境教程
  8. opus在arm的嵌入式平台上的移植和开发
  9. c语言不使用加运算符做加法运算
  10. 【优化预测】基于matlab灰狼算法优化BP神经网络预测【含Matlab源码 1728期】
  11. 【数学建模】最优化模型
  12. HTML5开发实战之网易微博
  13. windows通过vnc远程桌面
  14. 保研面试/考研复试英语口语常见问题整理
  15. 【概率论与数理统计】猴博士 笔记 p36-37 协方差、相关系数、不相关、相互独立时的期望和方差
  16. ecshop index.php,ecshop  源码分析01 (index.php)
  17. Kotlin开发利器之协程
  18. LumaQQ启动脚本
  19. c++的3D游戏笔录-基于panda3d(2)
  20. python爬虫 - GET和POST分别对爬取的网页状态的影响以及常见网页状态码(200、401、402、404等等)

热门文章

  1. 人力资源大数据解决方案
  2. eclipse中运行tomcat提示端口被占的4种解决方案
  3. css之文本两端对齐的两种解决方法
  4. Macbook pro 2016/2017 接入扩展坞时断 WIFI 问题的解决办法
  5. 缓存一致性和跨服务器查询的数据异构解决方案canal
  6. 关于ubuntu系统无线网络网速慢的解决方法
  7. ubuntu 下更新pip后发生 ImportError: cannot import name ‘main‘的问题解决
  8. 如何使用RecyclerView构建Horizo​​ntal ListView?
  9. vue移动端优秀框架收集
  10. python基础(1.5-1.7)