if(a==1且a==2且a==3),有没有可能为 true?
程序员的成长之路
共 1788字,需浏览 4分钟
·
2021-07-27 09:47
阅读本文大概需要 2.8 分钟。
作者:码农登陆
来源:toutiao.com/i6805578326279717390
前言
var a = ???;
if(a == 1 && a == 12){
console.log(a);
}
如果你也觉得不可能的话,一起随着文章看下去。你也会觉得有点意思~
正文
一、JS版本
当然可能有JS的小伙伴想要求解答,这里碰巧写过解析,这里就贴出他的文章地址
二、Java版本
Class cache = Integer.class.getDeclaredClasses()[0];
Field c = 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,也算是咱们解题思路的上最直接的帮手...
尾声
推荐阅读:
面试官问:数据库 delete 表数据,磁盘空间还是被一直占用,为什么?
最近面试BAT,整理一份面试资料《Java面试BATJ通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。
朕已阅
评论