【发布时间】:2020-05-21 00:23:04
【问题描述】:
我有一个这样的列表:
listOf(1, null, 0)
我用这个过滤它:
_currentSource.value?.filter { it.nominalAmount != null || it.nominalAmount != 0 } as List<SourceDanaInvestasi>
但是过滤器不起作用,因为当我将它保存到 Room 并显示它时,在我的应用程序中显示所有值 (1, null, 0)
那么如何过滤它以仅在没有null 或0 的情况下发送数据?
【问题讨论】:
-
什么是nominalAmount,是
Double?而不是Int?? -
Int?抱歉忘记编辑我的问题 -
试试
filter{ it.nominalAmount != null && it.nominalAmount != 0 },因为你应该涵盖两种情况 -
value的类型是什么?显然,List<Int?>不像您的示例listOf(1, null, 0),因为您在不使用 null 安全调用的情况下调用项目.nominalAmount的某些属性。 -
@RRifaFauziKomara 当
nominalAmount为空时不为0,为0 时不为空。所以其中之一为真,结果值为真。这就是过滤列表中存在所有元素的原因。