我熟悉如何在数组中获得元素位置的方法,尤其是此处显示的方法: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更加简单。

10-08 16:05