Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么有些Android代码在以前的API级别上工作得比它应该的要好?_Java_Android_Eclipse_Lint - Fatal编程技术网

Java 为什么有些Android代码在以前的API级别上工作得比它应该的要好?

Java 为什么有些Android代码在以前的API级别上工作得比它应该的要好?,java,android,eclipse,lint,Java,Android,Eclipse,Lint,我正在开发一个Android应用程序,其中包括使用java.BitSet中的toLongArray方法。可以看出,这种方法是在Android API级别19,Android 4.4中引入的。Eclipse中的Lint正确地警告了我这一点,因为我的minsdk版本是10,但我可以配置它,这样它就不会抱怨了 这样做时,我可以按项目构建并运行它:在安卓5.0中,它可以工作,在安卓2.3(API级别10)中,它不能工作,但令人惊讶的是,在安卓4.0.3、4.1.2、4.2(低于API级别19)中,它工作

我正在开发一个Android应用程序,其中包括使用java.BitSet中的toLongArray方法。可以看出,这种方法是在Android API级别19,Android 4.4中引入的。Eclipse中的Lint正确地警告了我这一点,因为我的minsdk版本是10,但我可以配置它,这样它就不会抱怨了

这样做时,我可以按项目构建并运行它:在安卓5.0中,它可以工作,在安卓2.3(API级别10)中,它不能工作,但令人惊讶的是,在安卓4.0.3、4.1.2、4.2(低于API级别19)中,它工作起来很有魅力,尽管它不应该工作。即使我将min/targetSDK设置为15(Android 4.0.3),也会发生同样的情况


例如,Object.hashCode也会发生同样的情况,我不明白它为什么会工作。

事实上,这让我很惊讶

我去了他们的仓库看看那到底是什么。因此,我发现他们添加了一些方法,但在文档中使用@hide javadoc annotation将其隐藏,直到完全测试完毕或记得取消隐藏为止

@隐藏当应用于包、类、方法或字段时,@hide将删除 从文档中删除该节点及其所有子节点


因此,为了知道真相,该方法实际上是在3年多前10个月前添加的,实际上他们在1年、7个月前将其隐藏在这里。

它不是正式存在的,但事实上它是隐藏的,我想这样他们就可以开始引入新功能,而不必正式支持它们