Kotlin 面试题
目录

Kotlin 中上界 (Upper Bounds) 的概念是什么?

· 约 2 分钟读完 · 第 102 / 200 章

推荐答案

在 Kotlin 中,上界(Upper Bounds)用于限制泛型类型参数的类型范围。通过指定上界,可以确保泛型类型参数只能是某个特定类型或其子类型。上界通常通过 : 符号来指定。

在这个例子中,T 的上界是 Comparable<T>,这意味着 T 必须是 Comparable<T> 或其子类型。

本题详细解读

上界的作用

上界的主要作用是限制泛型类型参数的类型范围,从而在编译时提供类型安全。通过指定上界,可以确保泛型类型参数具有某些特定的行为或属性。

上界的语法

在 Kotlin 中,上界通过 : 符号来指定。语法如下:

其中,UpperBoundType 是上界类型,T 必须是 UpperBoundType 或其子类型。

多个上界

Kotlin 还支持多个上界,通过 where 关键字来指定:

在这个例子中,T 必须同时满足 CharSequence 和 Comparable<T> 两个上界。

默认上界

如果没有显式指定上界,Kotlin 会默认使用 Any? 作为上界,这意味着泛型类型参数可以是任何类型,包括 null。

在这个例子中,T 的上界是 Any?,因此 value 可以是任何类型,包括 null。

上界的使用场景

上界通常用于需要限制泛型类型参数类型的场景,例如:

  • 确保类型参数具有某些特定的行为(如 Comparable)。
  • 限制类型参数的范围,以便在函数或类中使用特定的方法或属性。

通过使用上界,可以在编译时捕获类型错误,从而提高代码的安全性和可维护性。