什么是Kotlin中的单位对象

时间:2017-07-28 04:06:06

标签: jvm kotlin

现在我正在学习Kotlin,在这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的最佳时间。

谁能解释一下?因为它让我很困惑。提前谢谢。

1 个答案:

答案 0 :(得分:0)

。网站和github来源都清楚地提到

  

Private Sub LogRecordChanges(row As DataRow) If row.RowState = DataRowState.Unchanged Then Console.WriteLine("No changes to row.") Else For Each column As DataColumn In row.Table.Columns Dim currentValue = row(column, DataRowVersion.Current) Dim originalValue = row(column, DataRowVersion.Original) If currentValue.Equals(originalValue) Then Console.WriteLine($"No changes to column '{column.ColumnName}'.") Else Console.WriteLine($"Column '{column.ColumnName}' changed from '{originalValue}' to '{currentValue}'.") End If Next End If End Sub   只有一个值的类型:Unit对象。此类型对应于Java 中的 void类型。

同样在存储库中,

  

/ **    *只有一个值的类型:Unit对象。此类型对应于Java中的object Unit类型。    * /

When to use it?