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中返回的是一個 list的實體對象,而接收的則是一個List類型的參數。
雖然查詢的時候沒有報錯,但是後續的時候遍歷查找出來的結果就出錯瞭。隻要改成如下就可以瞭,一個非常大意的錯誤!
這樣就可以瞭。
到此這篇關於Java ClassCastException異常解決方案的文章就介紹到這瞭,更多相關Java ClassCastException異常內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Mysql處理Duplicate entry ‘6‘ for key ‘PRIMARY‘問題及解決
- IDEA使用JDBC安裝配置jar包連接MySQL數據庫
- 關於MyBatis連接MySql8.0版本的配置問題
- Java JNDI案例詳解
- 升級到mysql-connector-java8.0.27的註意事項