我试图通过一个数组列表通过它的ID属性来找到学生对象的索引。然而它总是出现-1。arraylist中的查找索引总是以-1 -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"));
但实际上出来为真。但在第一类中,它会以假为出现并返回-1。提前致谢。
我不完全得到'studentArray.indexOf(I);' - 不会'i'已经是索引了?反正'studentArray'是什么?如果它是一个名称暗示的数组,则不应该有'indexOf()'方法。 – Thomas
在您的演示中,您没有将新创建的学生添加到BodyBag中。 –