android Arrays.binarySearch问题

时间:2011-02-12 02:42:55

标签: android arrays

String[] array =
     getContext().getResources().getStringArray(R.array.DevCategories);

获取数组。我称之为:

Arrays.binarySearch(array,"Plan"));

它返回-5,我确信数组的第一个值是Plan。发生了什么事?

顺便说一下,当前的类是从ContentProvider扩展而来的。我正在写一个提供者。

我使用此代码get -5

String.format("%d",Arrays.binarySearch(array,"Plan"))); String.valueOf(Arrays.binarySearch(array,"Plan")));

都是-5

来自string.xml文件的R.array.DevCategories。 <string-array name="DevCategories"> <item>Plan</item> <item>Design</item> <item>Coding</item> <item>Debug</item> <item>Test</item> <item>Release</item> </string-array>

1 个答案:

答案 0 :(得分:1)

您确定数组是按照自然排序顺序排序的(对于本例中的字符串)吗?

如果未对数组进行排序,则结果未定义。

否定结果通常表示未找到密钥,结果可用于计算应插入密钥的索引以将其添加到数组(以维持正确的排序)。如果Array没有排序,那将是假的。