Kotlin可以定义为强类型语言吗?

Nic*_*zzi 4 strong-typing kotlin

从强类型语言的定义:

强类型编程语言是指每种类型的数据(例如整数,字符,十六进制,压缩十进制等)被预定义为编程语言的一部分,并且为给定程序定义的所有常量或变量必须是用其中一种数据类型描述(来源)

从kotlin文档中,我可以理解kotlin是一种静态类型语言,因为变量的类型在编译时是已知的,但是强类型还是弱类型呢?我找不到任何明确的回复谷歌搜索.据我所知,Kotlin应该与Java一样强类型,因为它编译为Java字节代码,但我不是100%肯定.请帮助我理解我是否正确的方式.

Grz*_*rek 8

弱类型语言具有不兼容类型之间的隐式转换,而强类型语言则禁止它.

Kotlin没有在类型之间进行隐式转换 - 这使得它强烈地静态类型化.

  • 嗯。事实上,Kotlin 的类型甚至比 Java 还要强,因为它缺少 Java 的隐式数字转换(将 `int` 扩展为 `long`,&c)。在类型系统中包含可空性也可以被视为使其更强大。 (3认同)