摘要:
一,功能 有些时候, 你可能想表示你并不知道类型参数的任何信息, 但是仍然希望能够安全地使用它. 这里所谓"安全地使用"是指, 对泛型类型定义一个类型投射, 要求这个泛型类型的所有的实体实例, 都是这个投射的子类型。 对于这个问题, Kotlin 提供了一种语法, 称为 星号投射(star-proj 阅读全文
posted @ 2025-09-06 08:38
刘宏缔的架构森林
阅读(15)
评论(0)
推荐(0)
摘要:
一,功能 逆变是指在类型参数的继承关系中,允许将一个泛型类型的父类型赋值给子类型。在 Kotlin 中,我们可以使用 in 关键字来标记类型参数为逆变。这样一来,我们就可以安全地将一个泛型类型的父类型赋值给子类型。 二,例子: 逆变关键字 in 将继承关系颠倒过来,主要用来限制未知类型的子类型,编译 阅读全文
posted @ 2025-09-06 08:37
刘宏缔的架构森林
阅读(12)
评论(0)
推荐(0)
摘要:
一,功能 协变是指在类型参数的继承关系中,允许将一个泛型类型的子类型赋值给父类型。在 Kotlin 中,我们可以使用 out 关键字来标记类型参数为协变。这样一来,我们就可以安全地将一个泛型类型的子类型赋值给父类型。 二,例子: 需要注意的地方:虽然协变放宽了对数据类型的约束,可以接受 子类型作为集 阅读全文
posted @ 2025-09-06 08:37
刘宏缔的架构森林
阅读(20)
评论(0)
推荐(0)
摘要:
一,功能 在 尖括号 <> 中声明 泛型参数 时 , 可以指定 泛型类型 的 约束 , 如 泛型类型 必须是某个类型的子类 在 Kotlin 中,使用:代替 extends 对泛型的的类型上界进行约束。传入的参数只能是指定的类型或其子类,如果是其他类型,则会报错。 二,例子 代码: //处理按钮点击 阅读全文
posted @ 2025-09-06 08:37
刘宏缔的架构森林
阅读(10)
评论(0)
推荐(0)
摘要:
一,功能 通常情况下 , 泛型参数 都使用 T 表示 , 使用其它字母 或者 字符串 都可以表示 泛型参数 , 但是 约定俗成 都使用 T 来表示泛型 函数 的 参数 或 返回值 类型为 泛型类型 , 则该函数称为 泛型函数 泛型函数 中 如果涉及到 匿名函数 参数 , 匿名函数 的 参数返回值 都 阅读全文
posted @ 2025-09-06 08:37
刘宏缔的架构森林
阅读(8)
评论(0)
推荐(0)
摘要:
一,功能 first{}高阶函数: 查找等于某一个字符的第一个元素 firstOrNull()函数,它和first()函数的区别在于如果字符串为空串时,first()函数会抛出异常,而firstOrNull()函数会返回null。firstOrNull{}函数,它和first{}函数的区别在于如果字 阅读全文
posted @ 2025-09-06 08:37
刘宏缔的架构森林
阅读(4)
评论(0)
推荐(0)
摘要:
一,功能 substring函数的定义: @kotlin.internal.InlineOnly public inline fun String.substring(startIndex: Int): String = (this as java.lang.String).substring(st 阅读全文
posted @ 2025-09-06 08:37
刘宏缔的架构森林
阅读(11)
评论(0)
推荐(0)
浙公网安备 33010602011771号