我的工作一直在被抛出以下错误的项目(名称混淆)的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