在本地項目中跑跑試試看。還是沒發現問題,依舊不打印執行完畢的日志。那我就看看是不是判斷出問題了。在判斷的地方打印出前后比較的值。發現從128開始,128!=128,返回為false。這是什么情況?
128!=128
開始真的認為不可能呀,基本類型比較怎么還出現false了呢。后來一看代碼。我把int定義成了Integer。瞬間明白了為什么?
大家都知道Integer是有緩存的,當數值在-128~127之間,是從緩存中取數據。
Integer緩存源碼
這里給大家做個測試
定義Integer
定義int
總結:還好當時知道Integer的源碼,看見128之后,想到了Integer的緩存,不然真的得找一會原因了。 當你在面臨壓力面前還能心里不急躁的去找bug是辦不到的,所以平時還是需要看看源碼,另外 這純是一種馬虎行為。大家在平時開發一定要注意下。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
JAVA
+關注
關注
20文章
3001瀏覽量
116439
發布評論請先 登錄
相關推薦
熱點推薦
Keil編譯錯誤匯總
定義,具體出現的原因未知
解決:把定義的變量放在主文件main.c中,在exti.h中添加extern來外部引用此變量來用。
注:一般變量的定義都不能在.h文件中,因為.h文件
發表于 01-21 07:40
激光雷達點云為什么會出現吸點現象?
相信各位在開車時一定遇到過這么一個場景,有一個很小的障礙物在車前,當障礙物非常靠近車輛時,你在駕駛位置上是完全看不到的,這就是俗稱的“盲區”。對于激光雷達來說,也會出現類似的問題,當障礙物離激光雷達足夠近時,它也會出現“盲區”,這一現象被稱為“吸點”。
飛凌嵌入式ElfBoard-文件I/O的了解探究之返回錯誤處理與相關函數
碼。所以由此可知道,當程序中調用函數發生錯誤的時候,操作系統內部會通過設置程序的 errno變量來告知調用者究竟發生了什么錯誤。errno本質上是一個int類型的變量,用于存儲錯誤編號
發表于 11-21 08:50
下載模式的切換之后,會出現編譯錯誤的解決辦法
一、隊伍介紹
本篇為蜂鳥E203系列分享第一篇,本篇介紹的內容是解決下載模式的切換之后出現編譯錯誤問題。
二、問題提出
在進行下載模式切換之后,進行編譯,提示如下圖所示的錯誤:
三、
發表于 10-30 08:11
為什么會出現“芯片 ID 無效”錯誤消息和部件號,使用 ISP 編程工具時顯示未知?
“config.ini”丟失或目標芯片的 PDID 未列在“config.ini”中,則 ISP 編程工具或部件號上會出現“芯片 ID 無效”錯誤消息。顯示未知。
發表于 08-18 07:23
使用 NPU 插件對量化的 Llama 3.1 8b 模型進行推理時出現“從 __Int64 轉換為無符號 int 的錯誤”,怎么解決?
推理量化的 Llama 3.1 8B 模型時遇到錯誤:
Runtime error: Bad cast from __int64 to unsigned int
發表于 06-25 07:20
ArkUI-X平臺橋接Bridge說明
為例,ArkTS和Java沒有相互調用的能力,為了實現ArkTS和Java交互,需要ArkTS與C++交互,C++再與Java交互,反之亦然。但是對于開發者,就像是ArkTS和
發表于 06-19 23:12
WP4000在電機功率測試中為什么會出現了基波有功功率大于總有功功率現象
在電機試驗的實際測量中,WP4000變頻功率分析儀遇到過 基波有功功率 大于 總有功功率 這種看上去違背常理的現象,這種現象的出現會引起我們對測量儀器準確性的質疑,為什么會出現這種現象,真的
i.mx95的EIQ轉換器將int8更改為uint8后出現報錯怎么解決?
我有一個大型量化 tensorflow lite 模型。它包括輸入和輸出類型為 “int8” 的 “Softmax”作。
我正在運行 eIQ 模型工具版本 1.14.0 將模型轉換為 i.MX95
發表于 04-14 07:15
關于嘗試基于dll方式自定義16*16點陣遇到的問題
我想在proteus上通過基于動態鏈接的方式自定義一個元件(16*16點陣),我將代碼寫好后編譯成了.dll文件 并且在deepseek的建議下寫了.IDX文件(放在了LIBRARY目錄下),內容
發表于 04-06 10:47
將HFREFR和LFREFR寄存器值設置為錯誤的值來將故障注入CMU,但CMU_ISR值始終為零,為什么?
我試圖通過將 HFREFR 和 LFREFR 寄存器值設置為錯誤的值來將故障注入 CMU,但 CMU_ISR值始終為零。
發表于 03-28 07:41
S32K344 SPI數據引腳長時間保持高電壓后會出現數據錯誤怎么解決?
您好 NXP 團隊。
我嘗試配置 SPI,CPOL = 1 ,CPHA = 1。
當我使用100K 波特率時、波形是正確的、
但是當我使用1M 波特率時,波形會出錯。
通常,數據引腳長時間保持高電壓后會出現數據錯誤。
波特率 1
發表于 03-20 07:32
多板 PCB 組裝中最常見的邏輯錯誤
許多電子系統和產品并不只使用1個PCB,而是可能包含多個電路板、單個電路板和多個外部模塊,或者通過電纜與外部設備連接。在多板系統中,兩個電路板之間可能會出現邏輯錯誤,但如果沒有全面審查設計,可能
注意了,將int定義為Integer會出現Java錯誤
評論