Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我会得到这个?Kotlin:类型不匹配:推断的类型是字符串?但字符串是意料之中的_Kotlin - Fatal编程技术网

为什么我会得到这个?Kotlin:类型不匹配:推断的类型是字符串?但字符串是意料之中的

为什么我会得到这个?Kotlin:类型不匹配:推断的类型是字符串?但字符串是意料之中的,kotlin,Kotlin,当我尝试运行此代码时: fun main() { val input: String = readLine() val outputs = input.toCharArray() for (i in 0 until input.length) { print("${outputs[i]}${outputs[i]}") } } 我得到这个错误:2,25 Kotlin:类型不匹配:推断的类型是字符串?但字符串是意料之中的。 如何修复此问题?函数返回字

当我尝试运行此代码时:

fun main() {
    val input: String = readLine()
    val outputs = input.toCharArray()
    for (i in 0 until input.length) {
        print("${outputs[i]}${outputs[i]}")
    }
}
我得到这个错误:2,25 Kotlin:类型不匹配:推断的类型是字符串?但字符串是意料之中的。 如何修复此问题?

函数返回字符串?可为空的字符串

如果输入流被重定向到文件且已到达文件末尾,则返回read行或null行

控制台输入中没有文件结尾,因此无需担心空值。您可以使用不安全呼叫接线员!!将其转换为非空值字符串

val输入:String=readLine!!
在Kotlin中,仅使用点运算符对可空类型调用函数是一个编译错误,因为它可能导致空指针异常。为了避免这种错误,编译器强制您检查引用是否为null。也可以使用安全呼叫接线员?。。我建议您阅读有关主题的优秀Kotlin文档:

如果您已经开始使用Kotlin,我还建议您开始以更具声明性/功能性的方式编写代码。看看如何以更简单的方式实现您的目标:

fun main() {
    val input = readLine()
    input?.toCharArray()?.forEach { print(it) }
}
readLine返回字符串?i、 e.可空字符串。放一把!!在readLine调用的后面,因为当流打开时,它不会为null。