inline fun <T, R : Any> Array<out T>.mapNotNull(
transform: (T) -> R?
): List<R>
我的用例和这个有点不同
在java中有什么函数可以代替mapnotnull吗?
val strings: List<String> = listOf("12a", "45", "", "3")
val ints: List<Int> = strings.mapNotNull { it.toIntOrNull() }
println(ints) // [45, 3]
2条答案
按热度按时间igsr9ssn1#
解决方案
没有直接的解决方案,但是java中的代码的等价物可以是:
输出
更多细节
根据文件:
fun String.toIntOrNull(): Int?
将字符串解析为整数并返回result
或者null
如果字符串不是数字的有效表示形式。因此,如果我们想用java创建精确的代码,那么您可以使用:
然后:
mapNotNull
返回一个列表,其中只包含应用给定它引导您在java中使用:
您的最终代码应该是:
但第一个解决方案对你的案子来说还是更好的。
i1icjdpr2#
Scanner
是检查是否存在整数的好方法: