泛型类型如何适合类型层次结构?

华莱士

Kotlin具有完整而优雅的类型层次结构-如果这是一个正确的词,因为它是有向无环图而不是树-在http://www.natpryce.com/articles/000818.htmlhttps上用图进行了描述: //blog.kotlin-academy.com/the-beauty-of-kotlin-typing-system-7a2804fe6cf0

我不清楚的是泛型如何适合所有这些。

通用类型(如ListMap)及其专业化如何喜欢List<Int>Map<String, Int>适合类型层次结构?

吉兹

List并且Map不是类型;他们是课程。要形成类型,您需要指定必要的类型参数,例如List<Int>(或类型投影,例如List<*>)。

(这不同于Java,后者允许原始类型,主要是为了向后兼容。)

类型关系取决于方差:例如,List<Int>是的子类型List<Number>,因为它的类型参数是协变的;但是MutableList<Int>是不变的,并且与MutableList<Number>没有关系)(只是它们都是的子类型Any)。

这为类型层次结构增加了额外的维度,使其比您可能看到的简单图形更加复杂。但是该原理非常简单明了,因此通常不会引入。

详情请参阅Kotlin文档

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

泛型:如何处理类层次结构中的多个有界类型

来自分类Dev

当参数化类型通过层次结构传递时,在Java中创建泛型类型的实例吗?

来自分类Dev

是否可以映射(JPA)在抽象超类中使用泛型的Java类型层次结构?

来自分类Dev

泛型与显式类型类/结构

来自分类Dev

对结构类型数组进行泛型排序

来自分类Dev

如何使泛型类型始终成为泛型类型列表?

来自分类Dev

Java泛型层次结构

来自分类Dev

层次结构和泛型

来自分类Dev

Scala 类型层次结构

来自分类Dev

了解C11类型层次结构

来自分类Dev

如何为泛型类指定泛型集合类型?

来自分类Dev

如何创建泛型方法以返回泛型类型

来自分类Dev

如何使用泛型返回泛型类的类类型?

来自分类Dev

如何在Swift中向下转换/强制转换结构的泛型类型

来自分类常见问题

如何检查两个结构在Swift中是否具有相同的泛型参数类型?

来自分类Dev

如何绑定结构的泛型,使其成为关联函数的具体类型?

来自分类Dev

如何绑定结构的泛型,使其成为关联函数的具体类型?

来自分类Dev

如何检查两个结构在Swift中是否具有相同的泛型参数类型?

来自分类Dev

如何通过泛型类型实例化?

来自分类Dev

如何确定非对象泛型的类型?

来自分类Dev

如何使用类型的辅助类泛型

来自分类Dev

如何遍历泛型类型的列表

来自分类Dev

如何从泛型类型调用重载方法

来自分类Dev

如何获得嵌套的泛型类型

来自分类Dev

如何使泛型类型的构造函数

来自分类Dev

如何从对象类型定义泛型?

来自分类Dev

如何使用泛型实现类型安全?

来自分类Dev

如何返回泛型类型的类

来自分类Dev

如何:接受只读类型的泛型?

Related 相关文章

热门标签

归档