1

なぜこれは:

long diffInMis = date2.getTime() - date.getTime();
diffInHour = TimeUnit.MILLISECONDS.toHours(diffInMis);

これを投げます:

java.lang.IllegalAccessError: メソッド java.util.concurrent.TimeUnit.toHours:(Z)V にアクセスしようとしました

?

開発者コンソールにそのエラーがあり、再現できません。私は自分で計算しているだけですが、興味があります。

デバイス: HTC レジェンド Android 2.2

回答: API に TimeUnit がありません < 9

4

1 に答える 1

2

Java 5 にはtoHoursは必要ありませんでしたが、Java 6 にはあります。私の推測では、実行時に toHours を含まないバージョンの TimeUnit クラスを使用していると思われます。この種の例外は、コードが参照の場所からフィールドまたはメソッドにアクセスできない場合に発生します。

于 2012-10-25T19:38:41.757 に答える