我的工作一直在被拋出以下錯誤的項目(名稱混淆)的Android拋出比較短的時候拋出ClassCastException字面
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Short
at com.package.myproject.Object.method(Object.java:656)
的問題是,導致錯誤看起來像這樣的線路。
if ((fileVerMaj.value > 1 || (fileVerMaj.value == 1 && fileVerMin.value >= 24)))
這裏的變量都是Short類型。此代碼適用於在Eclipse中編譯時編譯,但在Android Studio中編譯時不適用。爲了解決這個問題,我嘗試了使用Short對象的intValue()方法並將文字轉換爲短褲(primitve類型和Object)。沒有什麼改變了行爲。
我需要一些Android Studios功能來正確編譯這個項目,但我對這裏發生的事情沒有想法。
這是不足以澄清任何事情的代碼。 –
「我試過使用Short對象intValue()」 - 應該已經工作了。 「把文字寫成短褲」 - 也應該起作用。 - 我第二@MuratK。因爲你的代碼可能不夠完整,無法傳達實際問題。 – JimmyB
也許它與JDK版本或其他內容有關,與Android Studio無關。檢查在AS和Eclipse中使用的JDK版本。所有在Android Studio 2.1.1和JDK 7中均可正常工作,無需任何手動投射。 – comrade