2017-07-28 64 views
2

单位对象现在我学习科特林,在这个guide我碰上了这两种方法,一是用Unit和另一个不什么是科特林

unit

fun printSum(a: Int, b: Int): Unit { 
    println("sum of $a and $b is ${a + b}") 
} 

方法没有Unit

fun printSum(a: Int, b: Int) { 
    println("sum of $a and $b is ${a + b}") 
} 

我的问题是,什么是Unit实际上做?在Java中是否类似void?如果它就像void为什么上面的方法之一没有Unit运行就好。

当我想我的方法什么都不返回时,应该使用哪一个?而且当最好的时候使用Unit

任何人都可以解释一下吗?因为它让我很困惑。提前致谢。

回答

0

。它在网站以及在github上源被清楚地提到的是

object Unit 类型只有一个值:所述单元对象。这种类型对应于Java中的void类型。

在存储库

此外,

/** * 的类型只有一个值:所述单元对象。这种类型对应于Java中的void类型。 */

When to use it?

+0

有啥与方法的不同,而不'Unit',他们都回到没有 –

+2

为方便科特林允许省略声明的返回类型时,返回类型为单位 - 见https://kotlinlang.org/docs/reference/functions.html#unit-returning-functions –

+1

@GustiArya不,它是**不**不返回任何东西。单位是一个实际的对象。 – EJoshuaS