Kotlin 扩展函数

假设您需要为类添加新功能。在大多数编程语言中,您要么 派生一个新类,要么使用某种设计模式来实现。

但是,在 Kotlin 中,您还可以使用扩展函数来为类添加新功能。基本上,扩展函数是在类外部定义的类的成员函数。

例如,您需要为 String 类 添加一个方法,该方法返回一个移除首尾字符的新字符串;这个方法在 String 类中并不存在。您可以使用扩展函数来完成这项任务。


示例:移除字符串的首尾字符

fun String.removeFirstLastChar(): String =  this.substring(1, this.length - 1)

fun main(args: Array<String>) {
    val myString= "Hello Everyone"
    val result = myString.removeFirstLastChar()
    println("First character is: $result")
}

运行程序后,输出将是

First character is: ello Everyon

在这里,一个名为 removeFirstLastChar() 的扩展函数被添加到 String 类中。

类名是接收者类型(在我们的示例中是 String 类)。扩展函数中的 this 关键字引用接收者对象。

Kotlin extension function receiver type and obejct

如果您需要在 Java 项目之上集成 Kotlin,您无需将整个代码修改为 Kotlin。只需使用扩展函数即可添加功能。

话虽如此,滥用扩展函数的能力是相当容易的。我们建议您查看这些资源,了解何时使用扩展,何时不使用:

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战