<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          if(a==1 && a==2 && a==3),為true,你敢信???

          共 1891字,需瀏覽 4分鐘

           ·

          2022-01-22 14:04

          來源:toutiao.com/i6805578326279717390


          前言


          最近無意間看到一個(gè)有趣的帖子:
          var a = ???;if(a == 1 && a == 12){    console.log(a);}


          這是一個(gè)JS社區(qū)拋出來的問題。第一眼看到這個(gè)問題的時(shí)候,感覺這似乎是一個(gè)無稽之談,一個(gè)變量怎么可能會(huì)同時(shí)滿足倆個(gè)條件呢!

          不過后來深入思考一下,發(fā)現(xiàn)這類問題有點(diǎn)意思...
          如果你也覺得不可能的話,一起隨著文章看下去。你也會(huì)覺得有點(diǎn)意思~

          下文不僅僅涉及的是JS,還有Java等等其他語言~


          正文


          接下來咱們來嘗試解決這個(gè)問題。假設(shè) if(a==1&&a==12)是等于 true的,那么a肯定不可能是一個(gè)“普通的變量”。它勢必要有能力在執(zhí)行的時(shí)候能夠動(dòng)態(tài)改動(dòng)值。


          JS版本


          如果出于這種出發(fā)點(diǎn),我們是不是能夠假設(shè):如果能夠重新類似a方法的執(zhí)行方法似乎就能夠做到這種結(jié)果。

          接下來這里貼一種答案:



          看到這個(gè)答案,我猜搞Java或其他面向?qū)ο笳Z言的同學(xué)有些“懵逼”。不過如果仔細(xì)看,仔細(xì)想其實(shí)也是可能從中看出一些解題思路的。搜索公眾號(hào)互聯(lián)網(wǎng)架構(gòu)師后臺(tái)回復(fù)“2T”,獲取一份驚喜禮包。
          當(dāng)然可能有JS的小伙伴想要求解答,這里碰巧寫過解析,這里就貼出他的文章地址

          看了JS的答案,我一直順著這個(gè)解題思路再想:Java中有沒有可能完成這個(gè)等式?只能說自己“功力太淺”始終沒有找到合適的解決方式...因此自己就Google了一下,發(fā)現(xiàn)果然有“閑的蛋疼”的人提供了答案,甚至還提供了多種版本:


          Java版本


          這里就直接貼答案了,雖然不能說非常的貼近于題目,但也著實(shí)展示了其中的巧妙:

          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");}


          另一個(gè)答案,說實(shí)話比較“牛逼”了:

          這里用到了PowerMockRunner,也算是咱們解題思路的上最直接的幫手...



          尾聲


          寫這篇文章其實(shí)并不是為了去深挖這些語言特性,只是單純的覺得很有意思。

          如果從這個(gè)題目本身出發(fā),它既可以考察解題者的語言特性掌握程度;也可以考察出解題者對待問題,嘗試解決問題的方法論。學(xué)習(xí)這條路上,任重而道遠(yuǎn)...


          相關(guān)閱讀:2T架構(gòu)師學(xué)習(xí)資料干貨分享


          全棧架構(gòu)社區(qū)交流群

          ?「全棧架構(gòu)社區(qū)」建立了讀者架構(gòu)師交流群,大家可以添加小編微信進(jìn)行加群。歡迎有想法、樂于分享的朋友們一起交流學(xué)習(xí)。

          掃描添加好友邀你進(jìn)架構(gòu)師群,加我時(shí)注明姓名+公司+職位】

          看完本文有收獲?請轉(zhuǎn)發(fā)分享給更多人


          往期資源:


          Flutter 移動(dòng)應(yīng)用開發(fā)實(shí)戰(zhàn) 視頻(開發(fā)你自己的抖音APP)
          Java面試進(jìn)階訓(xùn)練營 第2季(分布式篇)
          Java高級(jí) - 分布式系統(tǒng)開發(fā)技術(shù)視頻
          瀏覽 33
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  一本色道久久综合亚洲精品小说 | 小早川怜子高潮无码 | 日本激情视频网站免费 | 高清无码视频在线看 | 欧美老妇人与禽交 |