Java ClassCastException異常解決方案

ClassCastException是JVM在檢測到兩個類型間轉換不兼容時引發的運行時異常。此類錯誤通常會終止用戶請求。在執行任何子系統的應用程序代碼時都有可能發生ClassCastException異常。通過轉換,可以指示Java編譯器將給定類型的變量作為另一種變量來處理。對基礎類型和用戶定義類型都可以轉換。Java語言規范定義瞭允許的轉換,其中大多數可在編譯時進行驗證。不過,某些轉換還需要運行時驗證。如果在此運行時驗證過程中檢測到不兼容,JVM就會引發ClassCastException異常。
出現這個異常的原因如下:

1.一個類是數字類,而由於誤操作,錯誤的將數字類向數字類轉換改寫成瞭數字類向字符串類的轉換,從而產生瞭異常。

2.大部分原因是因為強制轉換或者是SQL映射時發生瞭這個異常。

而我遇到的問題是:

1461:com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '0x4c1ae77bc2df45fb68b13fa1b4f000305209b0cb' for key 'contract_address'

是因為sql映射出現瞭問題:

這是出問題的SQL

這個是interface中

因為sql中返回的是一個 list的實體對象,而接收的則是一個List類型的參數。
雖然查詢的時候沒有報錯,但是後續的時候遍歷查找出來的結果就出錯瞭。隻要改成如下就可以瞭,一個非常大意的錯誤!

這裡寫圖片描述

這樣就可以瞭。

到此這篇關於Java ClassCastException異常解決方案的文章就介紹到這瞭,更多相關Java ClassCastException異常內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: