Kotlin 扩展函数是一种为现有类添加新功能的方法,而无需继承该类或使用其他设计模式。以下是一些实际案例:
- 字符串扩展函数:
fun String.formatDate(pattern: String): String {
val dateFormat = SimpleDateFormat(pattern, Locale.getDefault())
return dateFormat.format(Date())
}
fun main() {
val formattedDate = "Hello, the current date is ${Date().formatDate("yyyy-MM-dd HH:mm:ss")}"
println(formattedDate)
}
- List 扩展函数:
funList .printElements() { for (element in this) { println(element) } } fun main() { val numbers = listOf(1, 2, 3, 4, 5) numbers.printElements() }
- Int 扩展函数:
fun Int.isEven(): Boolean { return this % 2 == 0 } fun main() { val number = 4 if (number.isEven()) { println("$number is even") } else { println("$number is odd") } }
- Android TextView 扩展函数:
fun TextView.setTextSafely(text: String?) {
text?.let {
this.text = it
} ?: run {
this.text = "Default Text"
}
}
// 在 Activity 或 Fragment 中使用
val textView: TextView = findViewById(R.id.textView)
textView.setTextSafely(null) // 设置为空字符串
textView.setTextSafely("Hello, World!") // 设置为非空字符串
这些示例展示了如何使用 Kotlin 扩展函数为现有类型添加新功能,从而使代码更简洁、易读。