当前位置: 首页 > 知识库问答 >
问题:

Kotlin[duplicate]中的单位对象是什么

巫马心水
2023-03-14

现在我正在学习Kotlin,在本指南中,我遇到了这两种方法,一种是带有单元的,另一种不是

带有单元的方法

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}")
}

我的问题是,单位实际上做什么?在Java中是否类似于void?如果它像void,为什么上面的方法没有单元,运行得很好。

当我希望我的方法不返回任何内容时,我应该使用哪一个?也是使用Unit的最佳时间。

有人能解释吗?因为这让我很困惑。提前谢谢。

共有1个答案

车嘉实
2023-03-14

对网站和github消息来源中都明确提到

对象单位只有一个值的类型:单位对象。该类型对应于Java中的void类型。

同样在存储库中,

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

什么时候使用?

 类似资料:
  • 我们可以编写包含或不包含的代码,如下所示。 或 的实际用途是什么?。这是内存效率更高还是可读性更强?

  • 我在网上搜索一个生产者和消费者的问题,我得到了这个链接。程序员在这里使用了的向量。 我想为什么我需要一个同步块,因为Vector已经是线程安全的了。它必须自己处理线程。 但当我试图移除同步块时。它给我一个。下面是Product方法的代码段 我的问题是为什么我们需要同步或锁定一个已经是线程安全的对象?

  • 本文向大家介绍什么是C ++中的“翻译单位”,包括了什么是C ++中的“翻译单位”的使用技巧和注意事项,需要的朋友参考一下 翻译单元是任何经过预处理的源文件。 翻译单元是C ++中编译的基本单元。该单元经过预处理后,由单个源文件的内容组成。它包含任何不带块的头文件,这些头文件使用条件预处理语句(如ifdef,ifndef等)被忽略。 单个翻译单元可以编译为目标文件,库或可执行程序。

  • 问题类文件数据类问题(val id:Int,val问题:String,val图像:Int,val选项一:String,val选项二:String,val选项三:String,val选项四:String,val更正答案:Int, 对象文件结果: 对象常量{ 返回问题列表}

  • 问题内容: 每当我学习垃圾收集器时,都会听到术语“对象图”。到底是什么意思? 问题答案: 对象具有对其他对象的引用,这些对象又可以具有对更多对象(包括起始对象)的引用。这将创建对象图,在可及性分析中很有用。例如,如果起始对象是可到达的(例如,它在线程的本地堆栈中),则图形中的所有对象都是可到达的,并且确切的垃圾收集器无法收集任何这些对象。同样,如果我们创建所有可到达对象的列表,则从一组活动对象(根

  • 本文向大家介绍什么是JavaScript中的arguments对象?,包括了什么是JavaScript中的arguments对象?的使用技巧和注意事项,需要的朋友参考一下 JavaScript中的Arguments对象是一个对象,代表执行函数的参数。它的语法有两个参数: 示例 您可以尝试运行以下代码来了解什么是JavaScript中的arguments对象