您好,登錄后才能下訂單哦!
這篇文章主要講解了“Java的ClassCastException異常怎么解決”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Java的ClassCastException異常怎么解決”吧!
ClassCastException是JVM在檢測到兩個類型間轉(zhuǎn)換不兼容時引發(fā)的運(yùn)行時異常。此類錯誤通常會終止用戶請求。在執(zhí)行任何子系統(tǒng)的應(yīng)用程序代碼時都有可能發(fā)生ClassCastException異常。通過轉(zhuǎn)換,可以指示Java編譯器將給定類型的變量作為另一種變量來處理。對基礎(chǔ)類型和用戶定義類型都可以轉(zhuǎn)換。Java語言規(guī)范定義了允許的轉(zhuǎn)換,其中大多數(shù)可在編譯時進(jìn)行驗證。不過,某些轉(zhuǎn)換還需要運(yùn)行時驗證。如果在此運(yùn)行時驗證過程中檢測到不兼容,JVM就會引發(fā)ClassCastException異常。
出現(xiàn)這個異常的原因如下:
1.一個類是數(shù)字類,而由于誤操作,錯誤的將數(shù)字類向數(shù)字類轉(zhuǎn)換改寫成了數(shù)字類向字符串類的轉(zhuǎn)換,從而產(chǎn)生了異常。
2.大部分原因是因為強(qiáng)制轉(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é)果就出錯了。只要改成如下就可以了,一個非常大意的錯誤!
這樣就可以了。
感謝各位的閱讀,以上就是“Java的ClassCastException異常怎么解決”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Java的ClassCastException異常怎么解決這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。