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 扩展函数:
fun <T> List<T>.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 扩展函数为现有类型添加新功能,从而使代码更简洁、易读。