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

标签 java arraylist

我熟悉在数组中获取元素位置的方法,尤其是此处显示的方法:Element position in array

但我的问题是我不知道如何转换此代码以满足我的需要。

我要检查的是字符串是否在 ArrayList 中匹配,如果匹配,则该字符串在 ArrayList 中的索引是什么。

烦人的部分是我设法验证字符串是否在 ArrayList 中(参见我的代码的第一行)

listPackages 是 ArrayList

current_package 是我想在 listPackages 中找到它的位置的字符串。

这是我的代码:

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);

请注意,您通常不应该使用 == 来比较字符串 - 这将比较 references,即两个值是否是对同一对象的引用,而不是相等的字符串。相反,您应该调用 equals()。这可能是您现有代码的问题所在,但显然使用 indexOf 要简单得多。

关于Java - 获取数组中的元素位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7581363/

相关文章:

java - 如何确定正在查看 JScrollpane 中的哪个 JPanel?

java - Reddit OAuth2 API 循环重定向

java - java中的泛型错误

java - java 方法内多个 ArrayList 初始化可能出现的内存问题

python - Dictreader 和正则表达式,索引问题

java - 如何对对象列表进行重复数据删除?

java - jTextArea 垂直打印文本

java - Spring Boot、JPA、@Query、Sybase 存储过程

java - 覆盖链式方法

java - 当我尝试解析字符串时,我的应用程序崩溃了