Kotlin 擴(kuò)展函數(shù)是一種為現(xiàn)有類(lèi)添加新功能的方法,而無(wú)需繼承該類(lèi)或使用其他設(shè)計(jì)模式。以下是一些實(shí)際案例:
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)
}
fun <T> List<T>.printElements() {
for (element in this) {
println(element)
}
}
fun main() {
val numbers = listOf(1, 2, 3, 4, 5)
numbers.printElements()
}
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")
}
}
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) // 設(shè)置為空字符串
textView.setTextSafely("Hello, World!") // 設(shè)置為非空字符串
這些示例展示了如何使用 Kotlin 擴(kuò)展函數(shù)為現(xiàn)有類(lèi)型添加新功能,從而使代碼更簡(jiǎn)潔、易讀。