[英]find a class item in array in Kotlin
我有 arraylist class 想找到里面的人
val personlist : ArrayList<Person>
personlist.add("Max","Mustermann","24")
val searchingfield = searchEt.text.toString()
val foundNames = personlist.filter { it.startsWith(searchingfield)}
找smth smilar对此。
当我单击搜索按钮时,我想在数组列表中找到他的名字、姓氏或年龄的人
因此,当您对personList
进行过滤时,lambda 中的it
指的是personList
中的任何单个元素 - 所以它的类型是Person
。
除非您定义了一个,否则Person
不会开始使用startsWith
。 您可能需要查看这些字段。 例如,如果它有 surname 并且您只想通过相等性进行比较,您可以执行以下操作:
val foundNames = personlist.filter {
it.surname == searchingfield
}
您还可以将 lambda 参数重命名为更清晰的名称:
val foundNames = personlist.filter { person ->
person.surname == searchingfield
}
lambda 的内容由您决定,只要知道it
是Person
而不是String
。
你可以试试这个
val foundNames = personlist.filter {
it.name == searchingfield || it.surname == searchingfield || it.age == searchingfield }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.