if (a == 1 a == 2 a == 3)返回true的問題思考

引文:
無意中看到了這樣的非常規邏輯,在想前后端應該都可以實現,a 是變量,或者操作a時觸發了值得改變。
意義: 該問題讓我們知道了一切規則都是可以被打破的,世界上的規則都是為了解釋某種現象設計的。
題目:
請讓判斷if (a == 1 && a == 2 && a == 3)通過true的路徑。

參考答案:
前端:

var a = {i: 1,valueOf: function() {if (this.i === 1) {this.i++;return 1;} else if (this.i === 2) {this.i++;return 2;} else if (this.i === 3) {this.i++;return 3;} else {return 4;}}
}if (a == 1 && a == 2 && a == 3) {console.log("Success! a=" + a);
}

后端:

	@Testpublic void testA() throws NoSuchFieldException, IllegalAccessException {Class cache = Integer.class.getDeclaredClasses()[0];Field c = cache.getDeclaredField("cache");c.setAccessible(true);Integer[] array = (Integer[]) c.get(cache);array[130] = array[129];array[131] = array[129];Integer a = 1;assert a == Integer.valueOf(1) && a == Integer.valueOf(2) && a == Integer.valueOf(3) : true;assert a == (Integer)1 && a == (Integer)2 && a == (Integer)3 : true;//        if (a == Integer.valueOf(1) && a == Integer.valueOf(2) && a == Integer.valueOf(3)) {if (a == (Integer)1 && a == (Integer)2 && a == (Integer)3) {System.out.println("success! a=" + a);} else {System.out.println("false! a=" + a);}}

或者:

public static void main(String[] args) {// 寫一段if (a == 1 && a==2 && a==3) 判斷,結果為true的代碼class Integer {private int value = 0;public Integer() {this.value = value;}// 添加構造方法public Integer(int i) {this.value = value;}public Integer valueOf(int i) {return new Integer(i);}@Overridepublic boolean equals(Object obj) {System.out.println("value=========" + value);value++;System.out.println("value=========" + value);return true;}@Overridepublic int hashCode() {return value;}}Integer a = new Integer(1);if (a.equals(new Integer(1)) && a.equals(new Integer(2)) && a.equals(new Integer(3))) {System.out.println("success! a=" + a.value);} else {System.out.println("false! a=" + a.value);}}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/89543.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/89543.shtml
英文地址,請注明出處:http://en.pswp.cn/web/89543.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MySQL的索引操作及底層結構淺析

一.索引提高數據庫的性能,索引是物美價廉的東西了。不用加內存,不用改程序,不用調sql,只要執行正確的 create index ,查詢速度就可能提高成百上千倍。但是天下沒有免費的午餐,查詢速度的提高是以插入、更新…

stm32f4 dma的一些問題

文章目錄前言一、使用開發板燒錄dma代碼不生效問題二、一個工程同時使用uart2、uart3借助dma來傳遞1.并行。2.DMA "同時工作"的本質3.總線訪問的具體含義4.實際效果5.最佳實踐5.1 總線傳輸機制:6.DMA傳輸中斷的問題總結前言 記錄一些使用stm32f4 dma過程…

登錄功能實現深度解析:從會話管理到安全校驗全流程指南

登錄功能實現深度解析:從會話管理到安全校驗全流程指南大家好,我是凱哥Java本文標簽:登錄驗證流程、過濾器與攔截器、安全防護措施簡介本文深入探討了從登錄功能實現到會話管理和安全校驗的全流程,包括參數校驗、身份驗證、令牌生…

2023 年 5 月青少年軟編等考 C 語言六級真題解析

目錄 T1. 字符串插入 思路分析 T2. 機器翻譯 思路分析 T3. 棧基本操作 思路分析 T4. 雙端隊列 思路分析 T1. 字符串插入 題目鏈接:SOJ D1138 有兩個字符串 s t r str str 和 s u b s t r substr substr, s t r str str 的字符個數不超過 10 10 10, s u b s t r substr …

Redux架構解析:狀態管理的核心原理

Redux 作為 JavaScript 應用的狀態管理庫,其技術架構與核心原理圍繞??可預測的狀態管理??設計,通過嚴格的單向數據流和函數式編程理念實現復雜應用的狀態控制。以下從設計理念、核心架構、工作流程、源碼實現等角度進行系統性剖析:一、設…

linux制作鏡像、壓縮鏡像、燒錄的方法

最近在玩香橙派的時候,需要搞多個板子,一個一個配環境也太麻煩了吧......于是通過搜索,發現可以把linux設備(比如香橙派,樹莓派等等)制作為鏡像,然后像燒錄官方鏡像一樣燒進新的sd卡&#xff0c…

機械材料計算軟件,快速核算重量

軟件介紹 今天為大家推薦一款專為機械行業設計人員打造的金屬材料重量計算軟件,幫助工程師快速完成材料重量核算。 軟件特點 這款綠色版計算工具體積小巧,不足100KB,無需安裝即可直接運行,不占用系統資源,特別適…

Chrome更新后,擴展不能用問題

Chrome更新后,擴展不能用問題 此擴展程序不再受支持,因此已停用 在 Windows 10/11 搜索框中輸入 regedit 打開 注冊表編輯器 在注冊表編輯器中打開:HKEYLOCALMACHINE\SOFTWARE\Policies\ 右鍵單擊 Policies 新建項 命名為 Google 右鍵單…

【Python】通過cmd的shell命令獲取局域網內所有IP、MAC地址,通過主機名獲取IP

【Python】通過cmd的shell命令獲取局域網內所有IP、MAC地址,通過主機名獲取IP 更新以gitee為準: gitee 文章目錄cmd命令獲取IPping主機名獲取IP的主機名socket獲取當前網關運行效果附錄:列表的賦值類型和py打包列表賦值BUG復現代碼改進優化總…

sky-take-out項目Mybatis的使用

分頁查詢public PageResult pageQuery(CategoryPageQueryDTO categoryPageQueryDTO) {PageHelper.startPage(categoryPageQueryDTO.getPage(),categoryPageQueryDTO.getPageSize());//下一條sql進行分頁&#xff0c;自動加入limit關鍵字分頁Page<Category> page categor…

H3CNE小小綜合實驗

實驗拓撲圖實驗需求 按照圖示配置IP地址在SW1和SW2之間配置鏈路聚合增加鏈路帶寬&#xff0c;提高可靠性PC5和PC6屬于VLAN10&#xff0c; PC7和PC8屬于VLAN20SW1和SW2屬于二層交換機&#xff0c;SW3為三層交換機&#xff08;VLAN100用于對接R4&#xff09;,在交換機之間相連的鏈…

IP協議深入理解

一、什么是ip協議?1.1、ip協議是網絡層協議&#xff0c;ip協議的本質工作是提供一種能力&#xff0c;把數據可靠的跨網絡從主機A送到主機B&#xff1b;1.2、什么是ip&#xff1f;ip目標網絡目標主機&#xff1b;畫圖圖解:如圖&#xff0c;當主機A想要把數據發給主機B時&#x…

接收表單數據:serialize()函數解析

一、form-serialize作用與引入 作用&#xff1a; form-serialize可以快速收集表單數據&#xff0c;按照使用者意愿轉化為對象或字符串輸出&#xff0c;以便于提交至服務器。 引入&#xff1a; form-serialize不是瀏覽器自帶的JS方法&#xff0c;而是第三方工具庫。可以直接通過…

vc配置使用預編譯

預編譯原理 stdafx.h中加入系統文件&#xff0c;減少cpp中對這些文件的解析&#xff0c;提高速度 stdafx.h 會把編譯的文件生成pch&#xff0c;后續解析頭文件直接調用pch里面的數據 配置 新建stdafx.h和stdafx.cpp文件 配置stdafx.cpp文件為/Yc 創建預編譯文件整個項目設置/Yc…

反射機制的登錄系統

一、實體層&#xff08;po層&#xff09; //UserInfo package com.hugeyurt.po;import java.sql.ResultSet; import java.sql.SQLException;public class UserInfo {private String userID;private String name;private int count;private Long errorTime;private String pwd;p…

裝飾器模式及優化

裝飾器模式&#xff08;Decorator Pattern&#xff09;是一種結構型設計模式&#xff0c;它允許向一個現有的對象添加新的功能&#xff0c;同時又不改變其結構。這種模式創建了一個裝飾器類&#xff0c;用來包裝原有的類&#xff0c;并在保持類方法簽名完整性的前提下&#xff…

共指消解技術全解析:從語言學規則到深度學習(附論文精讀)

精讀威斯康星大學綜述《Coreference Resolution: A Survey》&#xff0c;揭秘NLP中"實體鏈接"的核心技術一、什么是共指消解&#xff1f;為什么它是NLP的基石&#xff1f;共指消解(Coreference Resolution) 旨在識別文本中指向同一實體的不同表述。例如&#xff1a;t…

git配置git commit -m “fix 11,22: 修改bugid為11,22“

文章目錄前言一、報錯提示二、實現1.commitlint.config.js規范配置2. **修改正則表達式**&#xff1a;3. **移除 scope-case 規則**&#xff1a;4. **增強自定義規則邏輯**&#xff1a;測試結果&#xff1a;正則表達式詳解&#xff1a;前言 提示&#xff1a;正常的配置git規范…

nastools繼任者?極空間部署影視自動化訂閱系統『MediaMaster』

nastools繼任者&#xff1f;極空間部署影視自動化訂閱系統『MediaMaster』 哈嘍小伙伴們好&#xff0c;我是Stark-C~ 對于我們NAS玩家來說&#xff0c;觀影總是大家繞不開的一個執念&#xff0c;并且為觀影的折騰大家也都是樂此不疲~ 曾經有一個非常絕絕子的觀影神器擺在我們…

題解:CF1690G Count the Trains

思路&#xff1a; 首先我們可以理清一下各種情況&#xff1a;1&#xff09;m可能為02&#xff09;一次操作時&#xff0c;只需要考慮每節火車的車頭。3&#xff09;當一節火車的速度降低時&#xff0c;只會影響它及它后面的車廂當m0時&#xff0c;我們可以記錄上一節車頭的速度…