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>
答案 0 :(得分:1)
您确定数组是按照自然排序顺序排序的(对于本例中的字符串)吗?
如果未对数组进行排序,则结果未定义。
否定结果通常表示未找到密钥,结果可用于计算应插入密钥的索引以将其添加到数组(以维持正确的排序)。如果Array没有排序,那将是假的。