gpt4 book ai didi

java - 如何在Kotlin中获取 boolean 数组中的真实计数

转载 作者:行者123 更新时间:2023-12-02 13:01:42 24 4
gpt4 key购买 nike

我已经阅读了kotlin文档并尝试了BooleanArray.count(predicate: (Boolean) -> Boolean),但是它仍然返回array的大小,而不是true的数目:

val checks = arrayOf(true, false, true, true, true)

val trueCount = checks.count { true }
我的代码有什么问题?

最佳答案

使用count { it }而不是count { true }count的参数不是要在数组中查找的值;这是一个谓词:一个带有一个参数并返回truefalse的函数。该谓词将为数组中的每个项目调用一次,该谓词返回的值(truefalse)确定是否对该项进行计数。因此,结果就是谓词对true求值的数组中的项目数。
在这种情况下,编写{ true }{ value -> true }的简写,并且是一个常量函数。无论true是什么,它将始终返回value。因此,“计算{ true }返回true的项目数”与“计算项目数”完全相同。
相反,您需要计算的值为true的项目数。您应该使用的谓词是{ value -> value },这是一个接受单个参数并返回该参数值的函数。由于,当您不给它命名时,单个lambda参数被隐式命名为it ,因此{ value -> value }的简写就是{ it }

关于java - 如何在Kotlin中获取 boolean 数组中的真实计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63755271/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com