我熟悉如何在数组中获得元素位置的方法,尤其是此处显示的方法:Element position in array
但是我的问题是我不知道如何转换此代码以满足我的需求。
我要检查的是字符串是否在ArrayList中匹配,如果匹配,则ArrayList中的字符串的索引是什么。
烦人的部分是我设法验证String是否在ArrayList中(请参阅我的代码的第一行)
listPackages是ArrayList
current_package是我要在listPackages中找到其位置的String。
这是我的代码:
if (listPackages.contains(current_package)) {
int position = -1;
for(int j = 0; j < listPackages.size(); j++) {
if(listPackages[j] == current_package) {
position = j;
break;
}
}
}
将不胜感激!
谢谢!
最佳答案
使用 indexOf
:
int index = listPackages.indexOf(current_package);
请注意,您通常不应该使用
==
比较字符串-这将比较引用,即两个值是否是对同一对象的引用,而不是相等的字符串。相反,您应该调用equals()
。这可能是您现有代码的问题所在,但显然使用indexOf
更加简单。