ArrayList.Indexof(“Value”)返回-1

时间:2012-06-19 09:24:30

标签: java android arraylist android-spinner

我在我的一个应用程序中使用ArrayList.Indexof("Value")ArrayList包含400多个值,我使用此列表在微调器中显示。我想在特定位置移动微调器,因为我需要Indexof该项。我正在使用Spinner的setSelection,但这里ArrayList.Indexof("Value")返回-1 ...为什么???请帮帮我..

3 个答案:

答案 0 :(得分:6)

请参阅the javadoc

如果没有这样的索引,则返回-1

答案 1 :(得分:1)

它返回-1的事实告诉您ArrayList中不存在索引“Value”。要进行比较,请使用equals()。可能失败的两点:

  • 拼写,包括案例(“值”.equals(“值”) - > false)
  • 您的ArrayList不包含字符串,但其他内容可能使用与String#equals(String)不同的实现

如果您希望我们能够为您提供更多信息,我们需要一些代码......

答案 2 :(得分:0)

  

我正在使用Spinner的setSelection,但这里ArrayList.Indexof(“Value”)返回-1

这告诉您该字符串实际上不在列表中。周期。

那么真的会怎样?

@brimborium已经确定了几种可能性:

  • 列表中的值和您测试的值在
  • 中有所不同
  • 列表中的值或您正在测试的值不是String

还有一些是:

  • 其中一个或哪个值具有未显示的前导或尾随空格
  • 某些Unicode代码点(字符)在呈现时看起来相同但不同,并且作为不同的
  • 进行比较

或者......您的代码要么没有添加值,要么将其删除。