if(a==1且a==2且a==3),有没有可能为true?

沙海 2021年5月26日07:06:31Java评论41字数 1950阅读6分30秒阅读模式
摘要

速读摘要

速读摘要文章源自JAVA秀-https://www.javaxiu.com/26132.html

第一眼看到这个问题的时候,感觉这似乎是一个无稽之谈,一个变量怎么可能会同时满足俩个条件呢!它势必要有能力在执行的时候能够动态改动值。写这篇文章其实并不是为了去深挖这些语言特性,只是单纯的觉得很有意思。MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。文章源自JAVA秀-https://www.javaxiu.com/26132.html

原文约 3292 | 图片 8 | 建议阅读 7 分钟 | 评价反馈文章源自JAVA秀-https://www.javaxiu.com/26132.html

if(a==1且a==2且a==3),有没有可能为true?

点击关注 ? Java基基 文章源自JAVA秀-https://www.javaxiu.com/26132.html

收录于话题文章源自JAVA秀-https://www.javaxiu.com/26132.html

#Java基基文章源自JAVA秀-https://www.javaxiu.com/26132.html

105个文章源自JAVA秀-https://www.javaxiu.com/26132.html

点击上方“Java基基”,选择“设为星标”文章源自JAVA秀-https://www.javaxiu.com/26132.html

做积极的人,而不是积极废人!文章源自JAVA秀-https://www.javaxiu.com/26132.html

文章源自JAVA秀-https://www.javaxiu.com/26132.html

源码精品专栏文章源自JAVA秀-https://www.javaxiu.com/26132.html

 文章源自JAVA秀-https://www.javaxiu.com/26132.html

文章源自JAVA秀-https://www.javaxiu.com/26132.html

来源:toutiao.com/i6805578326279717390文章源自JAVA秀-https://www.javaxiu.com/26132.html

  • 前言文章源自JAVA秀-https://www.javaxiu.com/26132.html

  • 正文文章源自JAVA秀-https://www.javaxiu.com/26132.html

  • 尾声文章源自JAVA秀-https://www.javaxiu.com/26132.html

大家好,我是基基!文章源自JAVA秀-https://www.javaxiu.com/26132.html

if(a==1且a==2且a==3),有没有可能为true?文章源自JAVA秀-https://www.javaxiu.com/26132.html

前言

最近无意间看到一个有趣的帖子:文章源自JAVA秀-https://www.javaxiu.com/26132.html

var a = ???;if(a == 1 && a == 12){  console.log(a);}

这是一个JS社区抛出来的问题。第一眼看到这个问题的时候,感觉这似乎是一个无稽之谈,一个变量怎么可能会同时满足俩个条件呢!文章源自JAVA秀-https://www.javaxiu.com/26132.html

不过后来深入思考一下,发现这类问题有点意思...文章源自JAVA秀-https://www.javaxiu.com/26132.html

如果你也觉得不可能的话,一起随着文章看下去。你也会觉得有点意思~文章源自JAVA秀-https://www.javaxiu.com/26132.html

下文不仅仅涉及的是JS,还有Java等等其他语言~文章源自JAVA秀-https://www.javaxiu.com/26132.html

正文

接下来咱们来尝试解决这个问题。假设 if(a==1&&a==12)是等于 true的,那么a肯定不可能是一个“普通的变量”。它势必要有能力在执行的时候能够动态改动值。文章源自JAVA秀-https://www.javaxiu.com/26132.html

一、JS版本

如果出于这种出发点,我们是不是能够假设:如果能够重新类似a方法的执行方法似乎就能够做到这种结果。文章源自JAVA秀-https://www.javaxiu.com/26132.html

接下来这里贴一种答案:文章源自JAVA秀-https://www.javaxiu.com/26132.html

if(a==1且a==2且a==3),有没有可能为true?文章源自JAVA秀-https://www.javaxiu.com/26132.html

看到这个答案,我猜搞Java或其他面向对象语言的同学有些“懵逼”。不过如果仔细看,仔细想其实也是可能从中看出一些解题思路的。文章源自JAVA秀-https://www.javaxiu.com/26132.html

当然可能有JS的小伙伴想要求解答,这里碰巧写过解析,这里就贴出他的文章地址文章源自JAVA秀-https://www.javaxiu.com/26132.html

看了JS的答案,我一直顺着这个解题思路再想:Java中有没有可能完成这个等式?只能说自己“功力太浅”始终没有找到合适的解决方式...因此自己就Google了一下,发现果然有“闲的蛋疼”的人提供了答案,甚至还提供了多种版本:文章源自JAVA秀-https://www.javaxiu.com/26132.html

二、Java版本

这里就直接贴答案了,虽然不能说非常的贴近于题目,但也着实展示了其中的巧妙:文章源自JAVA秀-https://www.javaxiu.com/26132.html

Class cache = Integer.class.getDeclaredClasses()[0];Field c = cache.getDeclaredField("cache");c.setAccessible(true);Integer[] array = (Integer[]) c.get(cache);// array[129] is 1array[130] = array[129];// Set 2 to be 1array[131] = array[129];// Set 3 to be 1Integer a = 1;if(a == (Integer)1 && a == (Integer)2 && a == (Integer)3){   System.out.println("Success");}

另一个答案,说实话比较“牛逼”了:文章源自JAVA秀-https://www.javaxiu.com/26132.html

这里用到了PowerMockRunner,也算是咱们解题思路的上最直接的帮手...文章源自JAVA秀-https://www.javaxiu.com/26132.html

if(a==1且a==2且a==3),有没有可能为true?文章源自JAVA秀-https://www.javaxiu.com/26132.html

尾声

写这篇文章其实并不是为了去深挖这些语言特性,只是单纯的觉得很有意思。文章源自JAVA秀-https://www.javaxiu.com/26132.html

文章源自JAVA秀-https://www.javaxiu.com/26132.html

欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢文章源自JAVA秀-https://www.javaxiu.com/26132.html

if(a==1且a==2且a==3),有没有可能为true?文章源自JAVA秀-https://www.javaxiu.com/26132.html

已在知识星球更新源码解析如下:文章源自JAVA秀-https://www.javaxiu.com/26132.html

if(a==1且a==2且a==3),有没有可能为true?文章源自JAVA秀-https://www.javaxiu.com/26132.html

if(a==1且a==2且a==3),有没有可能为true?文章源自JAVA秀-https://www.javaxiu.com/26132.html

if(a==1且a==2且a==3),有没有可能为true?文章源自JAVA秀-https://www.javaxiu.com/26132.html

if(a==1且a==2且a==3),有没有可能为true?文章源自JAVA秀-https://www.javaxiu.com/26132.html

最近更新《芋道 SpringBoot 2.X 入门》系列,已经 20 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。文章源自JAVA秀-https://www.javaxiu.com/26132.html

提供近 3W 行代码的 SpringBoot 示例,以及超 4W 行代码的电商微服务项目。文章源自JAVA秀-https://www.javaxiu.com/26132.html

获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。文章源自JAVA秀-https://www.javaxiu.com/26132.html

文章源自JAVA秀-https://www.javaxiu.com/26132.html

文章有帮助的话,在看,转发吧。谢谢支持哟 (*^__^*)
文章源自JAVA秀-https://www.javaxiu.com/26132.html

阅读原文文章源自JAVA秀-https://www.javaxiu.com/26132.html

继续阅读
速蛙云 - 极致体验,强烈推荐!!!购买套餐就免费送各大视频网站会员!快速稳定、独家福利社、流媒体稳定解锁!速度快,全球上网、视频、游戏加速、独立IP均支持!基础套餐性价比很高!这里不多说,我一直正在使用,推荐购买:https://www.javaxiu.com/59919.html
weinxin
资源分享QQ群
本站是JAVA秀团队的技术分享社区, 会经常分享资源和教程; 分享的时代, 请别再沉默!
沙海
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定