2011-02-12 80 views
1
String[] array = 
    getContext().getResources().getStringArray(R.array.DevCategories); 

得到一个数组。我的电话是:安卓Arrays.binarySearch问题

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

返回-5,我肯定数组的第一个值是计划。发生了什么?

顺便说一句,目前的类是从ContentProvider延长。我正在写一个提供程序。

我使用此代码获取-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

你确定Array是按照自然排序顺序排序的吗(对于这种情况下的字符串)?如果数组是没有排序

结果是不确定的。

阴性结果通常表明钥匙没有被发现,其结果可被用于计算所述密钥应该被插入以将其添加到阵列的指数(以保持适当的分选)。如果Array未开始排序,这将是虚假的。

+0

使用Arrays.sort(数组)。我得到了正确的结果。谢谢。 – 9nix00 2011-02-12 03:10:53