gpt4 book ai didi

java - 在数组列表中查找索引总是出现在-1

转载 作者:行者123 更新时间:2023-12-01 17:54:15 25 4
gpt4 key购买 nike

我试图通过数组列表通过 ID 属性找到学生对象的索引。但它总是出现-1。

 public int findIndex(String id) {
// boolean exists = studentArray.contains(id);
int index = 0;
for (int i = 0; i < studentArray.size(); i++) {
if (studentArray.get(i).getId().equals(id)) {
return index = studentArray.indexOf(i);
}
} return -1;
}

但是在我的演示中

BodyBag bag = new BodyBag(3);
Student student = new Student("Joe","1234",3.5);
Student student2 = new Student("Jill", "5678",3.4);
Student student3 = new Student("Angelina","9101",4.0);
System.out.println(bag.studentArray.get(0).getId().contains("1234"));

结果确实如此。但在第一类中它显示为 false 并返回 -1。提前致谢。

最佳答案

你说你的目标是

find the index of student object through their ID attribute through an arraylist

我建议您只需实现 equals Student 类中的方法,当且仅当两个 Student 实例具有相同的 id 时才返回 true,然后只需使用indexOf method provided by ArrayList

Student 中的 equals 方法可能如下所示:

@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Student other = (Student) obj;
return id == null ? other.id == null : id.equals(other.id);
}

关于java - 在数组列表中查找索引总是出现在-1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46669141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com