Java 无效返回类型在Kotlin中是什么意思
我尝试在Kotlin中创建函数而不返回值。我用Java编写了一个函数,但是使用了Kotlin语法Java 无效返回类型在Kotlin中是什么意思,java,kotlin,void,return-type,Java,Kotlin,Void,Return Type,我尝试在Kotlin中创建函数而不返回值。我用Java编写了一个函数,但是使用了Kotlin语法 fun hello(name: String): Void { println("Hello $name"); } 我犯了个错误 错误:在具有 块体(“{…}”) 经过几次修改后,我得到了返回类型为null Void的工作函数。但这并不是我所需要的 fun hello(name: String): Void? { println("Hello $name"); return
fun hello(name: String): Void {
println("Hello $name");
}
我犯了个错误
错误:在具有
块体(“{…}”)
经过几次修改后,我得到了返回类型为null Void的工作函数。但这并不是我所需要的
fun hello(name: String): Void? {
println("Hello $name");
return null
}
根据单位类型对应于Java中的void类型。因此,在Kotlin中不返回值的正确函数是
fun hello(name: String): Unit {
println("Hello $name");
}
或
问题是:在Kotlin中,
Void
是什么意思,如何使用它,以及这种用法的优点是什么?Void
在Java中是一个对象,它的意思是“无”。在Kotlin中,“nothing”有专门的类型:
->取代java的Unit
void
->“一个永远不存在的值”Nothing
现在在Kotlin中,您可以引用
Void
,就像您可以引用Java中的任何类一样,但您确实不应该这样做。相反,请使用单元
。另外,如果您返回Unit
,您可以忽略它。Void
是一个普通的Java类,在Kotlin中没有特殊意义
同样,您可以在Kotlin中使用Integer
,这是一个Java类(但应该使用Kotlin的Int
)。您正确地提到了两种不返回任何内容的方法。所以,在KotlinVoid
中是“某物”
您得到的错误消息确切地告诉您。您指定了一个(Java)类作为返回类型,但没有在块中使用return语句
如果你不想退回任何东西,请坚持这一点:
fun hello(name: String) {
println("Hello $name")
}
Void
(实际上是:)不是一个对象,它是Java中的一个类。您不能创建此类的实例。@Jesper您可以返回null
。相关:
fun hello(name: String) {
println("Hello $name")
}