Java - 获取数组中的元素位置

Lio*_*luz 20 java arraylist

我熟悉我可以在数组中获取元素位置的方法,尤其是这里显示的元素位置:数组中的元素位置

但我的问题是我无法弄清楚如何转换此代码以满足我的需求.

我想检查的是String中是否有一个匹配的ArrayList,如果是,那么ArrayList中String的索引是什么.

烦人的部分是我设法验证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;
              }
            }
    }
Run Code Online (Sandbox Code Playgroud)

非常感谢任何帮助!

谢谢!

Jon*_*eet 42

用途indexOf:

int index = listPackages.indexOf(current_package);
Run Code Online (Sandbox Code Playgroud)

请注意,您通常不应该使用==比较字符串 - 这将比较引用,即两个值是否是对同一对象的引用,而不是相等的字符串.相反,你应该打电话equals().这可能是您现有代码出错的原因,但显然使用起来indexOf要简单得多.