Java ClassCastException異常解決方案
ClassCastException是JVM在檢測到兩個類型間轉(zhuǎn)換不兼容時引發(fā)的運行時異常。此類錯誤通常會終止用戶請求。在執(zhí)行任何子系統(tǒng)的應(yīng)用程序代碼時都有可能發(fā)生ClassCastException異常。通過轉(zhuǎn)換,可以指示Java編譯器將給定類型的變量作為另一種變量來處理。對基礎(chǔ)類型和用戶定義類型都可以轉(zhuǎn)換。Java語言規(guī)范定義了允許的轉(zhuǎn)換,其中大多數(shù)可在編譯時進行驗證。不過,某些轉(zhuǎn)換還需要運行時驗證。如果在此運行時驗證過程中檢測到不兼容,JVM就會引發(fā)ClassCastException異常。
出現(xiàn)這個異常的原因如下:
1.一個類是數(shù)字類,而由于誤操作,錯誤的將數(shù)字類向數(shù)字類轉(zhuǎn)換改寫成了數(shù)字類向字符串類的轉(zhuǎn)換,從而產(chǎn)生了異常。
2.大部分原因是因為強制轉(zhuǎn)換或者是SQL映射時發(fā)生了這個異常。
而我遇到的問題是:
1461:com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '0x4c1ae77bc2df45fb68b13fa1b4f000305209b0cb' for key 'contract_address'
是因為sql映射出現(xiàn)了問題:
因為sql中返回的是一個 list的實體對象,而接收的則是一個List類型的參數(shù)。
雖然查詢的時候沒有報錯,但是后續(xù)的時候遍歷查找出來的結(jié)果就出錯了。只要改成如下就可以了,一個非常大意的錯誤!
這樣就可以了。
到此這篇關(guān)于Java ClassCastException異常解決方案的文章就介紹到這了,更多相關(guān)Java ClassCastException異常內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
spring中@Configuration和@Bean注解的用法
這篇文章主要介紹了spring中@Configuration和@Bean注解的用法,@Configuration用于定義配置類,可替換xml配置文件,被注解的類內(nèi)部包含有一個或多個被@Bean注解的方法,需要的朋友可以參考下2023-05-05如何使用CountDownLatch同步j(luò)ava多線程
這篇文章主要介紹了如何使用CountDownLatch同步j(luò)ava多線程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-08-08