にショート比較するときに私が働いているプロジェクトは以下のエラーを投げてきたClassCastExceptionがスロー問題は、エラーが次のようになります引き起こしているラインです。Androidは</p> <pre><code>java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Short at com.package.myproject.Object.method(Object.java:656) </code></pre> <p>(名前が難読化)リテラル
if ((fileVerMaj.value > 1 || (fileVerMaj.value == 1 && fileVerMin.value >= 24)))
ここで変数はすべてShort型です。このコードはEclipseでコンパイルされたときに機能しますが、Android Studioでコンパイルされたときには機能しません。この問題を解決するために、ShortオブジェクトのintValue()メソッドを使用し、リテラルをshorts(primitve型とObjectの両方)にキャストしようとしました。何も行動を変えていない。
このプロジェクトを正しくコンパイルするには、Android Studiosの機能が必要ですが、ここで何が起こっているのかというアイデアはありません。
これは、何かを明確にするのに十分なコードではありません。 –
"私はShortオブジェクトintValue()を使ってみました" - うまくいきました。 "リテラルをショートパンツにキャスト" - あまりにもうまくいったはずです。 - 私は2番目の@MuratK。あなたのコードはおそらく実際の問題を伝えるのに十分ではありません。 – JimmyB
おそらく、それはJDKのバージョンやそれ以外のもので、Android Studioには関係しません。 ASとEclipseで使用されているJDKのバージョンを確認してください。手動でキャストすることなく、Android Studio 2.1.1とJDK 7ではすべて正常に動作します。 – comrade