扫码关注
「
后端架构师
」,选择
「
星标
」
公众号
重磅干货,第一时间送达!
责编:架构君 | 来源:JAVA后端编程
链接: https://www.toutiao.com/i6805578326279717390
上一篇好文:
大家好,我是后端架构师。
最近无意间看到一个有趣的帖子:
var a = ???;
if(a == 1 && a == 12){
console.log(a);
}
这是一个JS社区抛出来的问题。第一眼看到这个问题的时候,感觉这似乎是一个无稽之谈,一个变量怎么可能会同时满足俩个条件呢!
不过后来深入思考一下,发现这类问题有点意思...
如果你也觉得不可能的话,一起随着文章看下去。你也会觉得有点意思~
正文
接下来咱们来尝试解决这个问题。假设 if(a==1&&a==12)是等于 true的,那么a肯定不可能是一个「普通的变量」。它势必要有能力在执行的时候能够动态改动值。
1、JS版本
如果出于这种出发点,我们是不是能够假设:如果能够重新类似a方法的执行方法似乎就能够做到这种结果。
接下来这里贴一种答案:
看到这个答案,我猜搞Java或其他面向对象语言的同学有些「懵逼」。不过如果仔细看,仔细想其实也是可能从中看出一些解题思路的。
当然可能有JS的小伙伴想要求解答,这里碰巧写过解析,这里就贴出他的文章地址
看了JS的答案,我一直顺着这个解题思路再想:Java中有没有可能完成这个等式?只能说自己「功力太浅」始终没有找到合适的解决方式...因此自己就Google了一下,发现果然有「闲的蛋疼」的人提供了答案,甚至还提供了多种版本:
2、Java版本
这里就直接贴答案了,虽然不能说非常的贴近于题目,但也着实展示了其中的巧妙:
class cache = Integer. class.getDeclared classes()[0];
Fieldc = cache.getDeclaredField("cache");
c.setAccessible(true);
Integer[] array = (Integer[]) c.get(cache);
// array[129] is 1
array[130] = array[129];
// Set 2 to be 1
array[131] = array[129];
// Set 3 to be 1
Integer a = 1;
if(a == (Integer)1 && a == (Integer)2 && a == (Integer)3){
System.out.println("Success");
}
另一个答案,说实话比较「牛逼」了:
这里用到了PowerMockRunner,也算是咱们解题思路的上最直接的帮手...
尾声
写这篇文章其实并不是为了去深挖这些语言特性,只是单纯的觉得很有意思。
你还有什么想要补充的吗?
最后给大家推荐一个ChatGPT 4.0国内网站,是我们团队一直在使用的,我们对接是OpenAI官网的账号,给大家打造了一个一模一样ChatGPT,很多粉丝朋友现在也都通过我拿这种号,价格不贵,关键还有售后。
一句话说明:用官方一半价格的钱,一句话说明:用跟官方 ChatGPT4.0 一模一样功能,无需魔法,无视封号,不必担心次数不够。
最大优势:可实现会话隔离!突破限制:官方限制每个账号三小时可使用40次4.0本网站可实现次数上限之后,手动切换下一个未使用的账号【相当于一个4.0帐号,同享受一百个账号轮换使用权限】
最后,再次推荐下我们的AI星 球 :
为了跟上AI时代我干了一件事儿,我创建了一个知识星球社群:ChartGPT与副业。想带着大家一起探索 ChatGPT和新的AI时代 。
有很多小伙伴搞不定ChatGPT账号,于是我们决定,凡是这三天之内加入ChatPGT的小伙伴,我们直接送一个正常可用的永久ChatGPT独立账户。
不光是增长速度最快,我们的星球品质也绝对经得起考验,短短一个月时间,我们的课程团队发布了 8个专栏、18个副业项目 :
简单说下这个星球能给大家提供什么:
1、不断分享如何使用ChatGPT来完成各种任务,让你更高效地使用ChatGPT,以及副业思考、变现思路、创业案例、落地案例分享。
2、分享ChatGPT的使用方法、最新资讯、商业价值。
3、探讨未来关于ChatGPT的机遇,共同成长。
4、帮助大家解决ChatGPT遇到的问题。
5、 提供一整年的售后服务,一起搞副业
星球福利:
1、加入星球4天后,就送ChatGPT独立账号。
2、邀请你加入ChatGPT会员交流群。
3、赠送一份完整的ChatGPT手册和66个ChatGPT副业赚钱手册。
其它福利还在筹划中... 不过,我给你大家保证,加入星球后,收获的价值会远远大于今天加入的门票费用 !
本星球第一期原价 399 ,目前属于试运营,早鸟价 149 ,每超过50人涨价10元,星球马上要来一波大的涨价,如果你还在犹豫,可能最后就要以 更高价格加入了 。。
早就是优势。 建议大家尽早以便宜的价格加入!
欢迎有需要的同学试试,如果本文对您有帮助,也请帮忙点个 赞 + 在看 啦!❤️
在 还有更多优质项目系统学习资源,欢迎分享给其他同学吧!
PS:如果觉得我的分享不错,欢迎大家随手点赞、转发、在看。
最后给读者整理了一份BAT大厂面试真题,需要的可扫码加微信备注:「面试」获取。
版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。谢谢!
END
最近面试BAT,整理一份面试资料【Java面试BAT通关手册】,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。在这里,我为大家准备了一份2021年最新最全BAT等大厂Java面试经验总结。
别找了,想获取史上最全的Java大厂面试题学习资料
扫下方二维码回复「面试」就好了
历史好文:
扫码关注「后端架构师」,选择「星标」公众号
重磅干货,第一时间送达
嘿,你在看吗?