Jvm Kotlin中的单位对象是什么
现在我正在学习Kotlin,在这里我遇到了这两种方法,一种是使用Jvm Kotlin中的单位对象是什么,jvm,kotlin,Jvm,Kotlin,现在我正在学习Kotlin,在这里我遇到了这两种方法,一种是使用Unit,另一种是不使用 带有单元的方法 fun printSum(a: Int, b: Int): Unit { println("sum of $a and $b is ${a + b}") } fun printSum(a: Int, b: Int) { println("sum of $a and $b is ${a + b}") } 不带单元的方法 fun printSu
Unit
,另一种是不使用
带有单元的方法
fun printSum(a: Int, b: Int): Unit {
println("sum of $a and $b is ${a + b}")
}
fun printSum(a: Int, b: Int) {
println("sum of $a and $b is ${a + b}")
}
不带单元的方法
fun printSum(a: Int, b: Int): Unit {
println("sum of $a and $b is ${a + b}")
}
fun printSum(a: Int, b: Int) {
println("sum of $a and $b is ${a + b}")
}
我的问题是,Unit
实际上做什么?在Java中是否类似于void
?如果它像void
为什么上面的一个方法没有单元
运行得很好
当我希望我的方法不返回任何内容时,我应该使用哪一个?以及使用装置的最佳时间
有人能解释吗?因为这让我很困惑。提前感谢。是的。网站和github来源中都明确提到:
对象单位
只有一个值的类型:Unit对象。此类型对应于Java中的void类型
同样在存储库中
/**
*只有一个值的类型:Unit对象。此类型对应于Java中的void
类型。
*/
那么,没有单位的方法有什么区别呢?它们都不返回任何内容作为一种方便,Kotlin允许您在返回类型为单位时省略声明返回类型-请参见@GustiArya No,它特别不返回任何内容。单位是一个实际的对象。@Hikaru755我站在void
位上得到了纠正-显然,Kotlin不是我的主要语言:)@GustiArya实际上,语言总是返回一些东西是很常见的-Scala和F#有着完全相同的东西。例如,在F#中,每个表达式都必须返回一个值,因此如果您不关心返回值,那么它们包含单元
类型。非常感谢。