gpt4 book ai didi

java - 使用 readLine() 方法拆分 Kotlin 字符串

转载 作者:行者123 更新时间:2023-11-29 09:59:02 26 4
gpt4 key购买 nike

所以我有这段 Java 代码:

String values = input.nextLine();
String[] longs = values.split(" ");

它将字符串输入拆分为字符串数组。

我在 Kotlin 中尝试

var input: String? = readLine()
var ints: List<String>? = input.split(" ".toRegex())

我得到一个错误:“只有安全 (?.) 或非空断言 (!!.) 调用才允许在类型为 String 的可为空的接收器上进行?”

我是 Kotlin 的新手,想了解如何执行此操作。谢谢!

最佳答案

如果您查看 readLine(),它会显示它可能返回 null:

/**
* Reads a line of input from the standard input stream.
*
* @return the line read or `null` if the input stream is redirected to a file and the end of file has been reached.
*/
public fun readLine(): String? = stdin.readLine()

因此对其结果调用 split 是不安全的,你必须处理 null 的情况,例如如下:

val input: String? = readLine()
val ints: List<String>? = input?.split(" ".toRegex())

可以找到其他替代品和更多信息 here .

关于java - 使用 readLine() 方法拆分 Kotlin 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48590661/

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