Kotlin擴(kuò)展函數(shù)有哪些實(shí)際案例

小樊
82
2024-11-02 07:34:18

Kotlin 擴(kuò)展函數(shù)是一種為現(xiàn)有類(lèi)添加新功能的方法,而無(wú)需繼承該類(lèi)或使用其他設(shè)計(jì)模式。以下是一些實(shí)際案例:

  1. 字符串?dāng)U展函數(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)
}
  1. List 擴(kuò)展函數(shù):
fun <T> List<T>.printElements() {
    for (element in this) {
        println(element)
    }
}

fun main() {
    val numbers = listOf(1, 2, 3, 4, 5)
    numbers.printElements()
}
  1. Int 擴(kuò)展函數(shù):
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")
    }
}
  1. Android TextView 擴(kuò)展函數(shù):
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)潔、易讀。

0