如何使用对象属性获取 List<customClass> 中自定义对象元素的索引?

Mim*_*ina 5 oop dart flutter

我有一个自定义类“学生”,它有两个属性“姓名”和“年龄”。在我的 main 方法中,我创建了此自定义类 List 的列表,并向该列表添加了 4 个 Student 对象。我的问题是,如何使用对象的任何属性来获取其中一个对象的索引?

例如,如何获取 Student('Dido', 18) 的索引?

void main() {
  List<Student> studentsList = [];
  studentsList.add(Student('Jack', 16));
  studentsList.add(Student('Tamer', 17));
  studentsList.add(Student('Dido', 18));
  studentsList.add(Student('Lili', 15));    
}

class Student{
  String name;
  int age;  
  Student(this.name, this.age);
} 
Run Code Online (Sandbox Code Playgroud)

chu*_*han 11

可以使用indexWhere
下面的代码已经在Dardpad
完整代码中测试过

import 'dart:async';
import 'dart:io';
import 'dart:core';
import 'dart:convert';
import 'dart:html';

class Student{
  String name;
  int age;  
  Student(this.name, this.age);
} 

main()  {  

  List<Student> studentsList = [];

  studentsList.add(Student('Jack', 16));
  studentsList.add(Student('Tamer', 17));
  studentsList.add(Student('Dido', 18));
  studentsList.add(Student('Lili', 15));

  int index = studentsList.indexWhere((st) => st.name=='Dido' && st.age==18); 
  print(index);

}
Run Code Online (Sandbox Code Playgroud)