Kotlin:类型不匹配:推断类型为 String 但预期为 String.Companion

use*_*037 5 kotlin

第 5 行和第 6 行错误。

Kotlin:类型不匹配:推断类型为 String 但预期为 String.Companion

class Robot (name: String,color :String) {

    var roboName= String
    var roboColor= String
    init {
        this.roboName=name
        this.roboColor=color
        }
    fun makeBed()
    {
        println("I will make your bed.")

    }

}
fun main(args: Array<String>){

     var robot1=Robot("Robot1","Black")
      println(robot1.roboName)
      println(robot1.roboColor)
      robot1.makeBed()
}
Run Code Online (Sandbox Code Playgroud)

s1m*_*nw1 9

分配 String给一个变量,该变量引用该String.Companion对象。这也使属性的 type String.Companion。您想要做的是定义您的财产类型:

var roboName: String
Run Code Online (Sandbox Code Playgroud)

此外,您可以更进一步,通过赋值加入声明:

var roboName: String = name
var roboColor: String = color
Run Code Online (Sandbox Code Playgroud)


war*_*ero 5

一个非常不同的场景让我想到了这个问题,我将分享我的场景,因为它可能会帮助其他人,对我来说,错误是

类型不匹配:推断的类型是字符串?但字符串是预期的

在我的例子中,我声明了一个 String 类型的 var,其中实际上方法返回类型是一个可为空的字符串,即

var variable:String必须是var variable:String?