可以过滤返回布尔值

问题描述 投票:2回答:3

我正在尝试在kotlin的对象列表中查找值,并为其使用“过滤器”,但是如果找到该值,则需要返回true或false,但是在这种情况下,filter会向我返回对象列表匹配。

t.filter { it.retailerId == value }

¿我在对象列表中找到此值时如何返回布尔值?

list kotlin find contains
3个回答
2
投票

您可以将firstOrNull()与特定谓词一起使用:

firstOrNull()

如果val found = t.firstOrNull { it.retailerId == value } != null 不返回firstOrNull(),则意味着找到该值。


1
投票

如果您需要元素正好是一个:

null

如果不是:

t.filter { it.retailerId == value }.size == 1

1
投票

除了t.any { it.retailerId == value } 之外,您还可以将firstOrNull与相同的谓词一起使用:

any
© www.soinside.com 2019 - 2024. All rights reserved.