Android Illegalacesserror java.util.concurrent.TimeUnit.toHours
为什么会这样:Android Illegalacesserror java.util.concurrent.TimeUnit.toHours,java,android,Java,Android,为什么会这样: long diffInMis = date2.getTime() - date.getTime(); diffInHour = TimeUnit.MILLISECONDS.toHours(diffInMis); 扔这个: java.lang.IllegalAccessError:尝试访问方法 java.util.concurrent.TimeUnit.toHours:(Z)V ? 我在开发者控制台中有这个错误,无法重现。 据我所知,我只是自己做数学,但我很好奇 设备:HTC联想
long diffInMis = date2.getTime() - date.getTime();
diffInHour = TimeUnit.MILLISECONDS.toHours(diffInMis);
扔这个:
java.lang.IllegalAccessError:尝试访问方法
java.util.concurrent.TimeUnit.toHours:(Z)V
?
我在开发者控制台中有这个错误,无法重现。
据我所知,我只是自己做数学,但我很好奇
设备:HTC联想安卓2.2
答:API<9Java 5中缺少时间单位,但没有。我猜您在运行时使用的是TimeUnit类的一个版本,它不包括toHours。当代码无法从引用位置访问字段或方法时,就会发生这种异常。我在3台设备上的导出包上对其进行了测试,结果正常。这完全取决于运行时JVM。现在我知道了,它在API<9中丢失了。谢谢你给我指出了正确的方向。