【问题标题】:Can Kotlin be defined a strongly typed language?Kotlin 可以定义为强类型语言吗?
【发布时间】:2019-06-06 05:24:25
【问题描述】:

从强类型语言的定义来看:

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

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

【问题讨论】:

  • 有类型推断,但是类型不能重新赋值,所以比较严格。

标签: kotlin strong-typing


【解决方案1】:

弱类型语言具有不兼容类型之间的隐式转换,而强类型语言则不允许。

Kotlin 没有类型之间的隐式转换 - 这使得它是强静态类型

【讨论】:

  • 嗯。事实上,Kotlin 的类型甚至比 Java 还要强,因为它缺少 Java 的隐式数字转换(将 int 扩大到 long,&c)。在类型系统中包含可空性也可以被视为使其更强大。
猜你喜欢
  • 2010-09-12
  • 2023-03-11
  • 2018-08-05
  • 1970-01-01
  • 2019-06-15
  • 2011-09-29
  • 2013-02-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多