在本地項目中跑跑試試看。還是沒發現問題,依舊不打印執行完畢的日志。那我就看看是不是判斷出問題了。在判斷的地方打印出前后比較的值。發現從128開始,128!=128,返回為false。這是什么情況?
128!=128
開始真的認為不可能呀,基本類型比較怎么還出現false了呢。后來一看代碼。我把int定義成了Integer。瞬間明白了為什么?
大家都知道Integer是有緩存的,當數值在-128~127之間,是從緩存中取數據。
Integer緩存源碼
這里給大家做個測試
定義Integer
定義int
總結:還好當時知道Integer的源碼,看見128之后,想到了Integer的緩存,不然真的得找一會原因了。 當你在面臨壓力面前還能心里不急躁的去找bug是辦不到的,所以平時還是需要看看源碼,另外 這純是一種馬虎行為。大家在平時開發一定要注意下。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
JAVA
+關注
關注
19文章
2978瀏覽量
105365
發布評論請先 登錄
相關推薦
用FPGA同時控制兩片ADS8688,低溫下偶爾會出現采樣值錯誤的原因?
大家好,我用FPGA同時控制兩片ADS8688,SCK、CS、MOSI兩片8688公用。常溫及高溫70度下運行良好,低溫下偶爾會出現,ADS8688采樣值在第16個sck送出,導致讀采樣值錯誤
發表于 12-23 07:26
使用TLC2543IDB時,輸入在2.5V左右,輸出數據偶爾會出現錯誤的5V,為什么?
我們在使用TLC2543IDB時,輸入在2.5V左右,輸出數據偶爾會出現錯誤的5V,出現錯誤后一直輸出5V,重啟后可以恢復正常,以下為原理圖及配置,請檢查有無
發表于 11-20 06:49
使用filterpro軟件設計了一個同相的低通濾波器,發現實物和仿真輸出都會出現振蕩,為什么?
我使用TI的filterpro軟件設計了一個同相的低通濾波器,增益為G=4,發現實物和仿真輸出都會出現振蕩,如圖
后來查資料知道,同相的濾波器增益不能大于3,否則會振蕩,反相的不會出現
發表于 08-30 06:06
華納云:java web和java有什么區別java web和java有什么區別
Java Web和Java是兩個不同的概念,它們在功能、用途和實現方式上存在一些區別,下面將詳細介紹它們之間的區別。 1. 功能和用途: – Java是一種編程語言,它提供

貼片電容代理 貼片電容會出現爆炸嗎?
貼片電容會出現爆炸嗎?,在我們已知的情況下出現爆炸有幾十種原因,但是最多的是由電容器內部元件擊穿、電容器外殼絕緣的損壞、密封不良和漏油、鼓肚和內部游離、帶電荷合閘引起電容器爆炸等,這些原因大部分都是
為SAR ADC通道0配置P1.3,在配置器和編譯過程中都出現了錯誤的原因?
我正在為 SAR ADC 通道 0 配置 P1.3,但在配置器和編譯過程中都出現了錯誤,即"personality MSC 0" 正在使用所需的資源。
知道為什么會出現
發表于 07-03 07:09
ESP32-C3在SPI-AT模式下進行數據透傳,最后一個數據包的數據偶爾會出現錯誤,為什么?
目前采用SPI-AT的方式在兩個硬件板之間進行數據的無線傳輸,一個作為AP開啟TCP服務器,一個作為STA連接到對應的服務器,傳輸的數據量為3000000字節,在測試的過程中偶爾會出現數據在固定的位置出現
發表于 06-26 06:07
伺服電機慣量不足會出現什么現象
伺服電機是現代工業自動化領域中非常重要的一種驅動設備,它具有高精度、高響應速度、高穩定性等特點。然而,伺服電機在實際應用過程中,由于各種原因,可能會出現慣量不足的問題。本文將詳細分析伺服電機慣量不足
編碼器壞了會出現什么故障
編碼器,作為現代工業領域中廣泛應用的設備,其作用是將機械位移或角度轉換為電信號,以便于控制系統進行監測、反饋和調節。然而,由于使用環境、操作方式、設備質量等多種因素的影響,編碼器有時會出現故障,從而
STM32g051c8tb擦除單頁時,出現HardFault中斷讀取FLASH狀態顯示為CFGBSY一直為1,為什么?
擦除,擦除數據地址可以被8整除的。
通過仿真執行擦除這段代碼,有時可以正常,有時就異常進入HardFault里面。
這是我要保存到芯片內部FLASH的數據內容,指定起始地址,可以被8整除的。
通過百度也查詢了一下解決措施,將未初始化的變量都初始化了,沒有用的變量都去掉
發表于 03-18 08:21
stm32 spi發送數據,出現斷言錯誤怎么解決?
, 1,1000);
}
會出現錯誤
修改成這樣
void LCD_WR_DATA8(uint8_t dat)
{
uint8_t buff[2];
buff[0] = dat;
HAL_SPI_Transmit
發表于 03-11 07:01
CC80-CC83配置為EA PWM,當EVAL_6EDL7141_TRAP_1SH事件發生并恢復時,會出現50ns的脈沖如何消除?
。
注意:
如果我不使用 MCM,只需將 mcm_ch1_enable 更改為 false,脈沖就不會出現。
發表于 02-26 08:02
評論