美文网首页
Kotlin优势总结

Kotlin优势总结

作者: pureChild | 来源:发表于2020-07-15 22:31 被阅读0次

    简洁

    大大减少样板代码的数量

    /* 使用一行代码创建一个包含

    getters、 setters、 `equals()`、 `hashCode()`、 `toString()` 以及 `copy()` 的 POJO:

    */

    data class Customer(val name: String, val email: String, val company: String)

    // 或者使用 lambda 表达式来过滤列表:

    val positiveNumbers = list.filter { it > 0 }

    // 想要单例?创建一个 object 就可以了:

    object ThisIsASingleton { val companyName: String = "JetBrains" }

    安全

    避免空指针异常等整个类的错误

    /*

    彻底告别那些烦人的 NullPointerException——著名的十亿美金的错误

    */

    var output: String

    output = null // 编译错误

    // Kotlin 可以保护你避免对可空类型进行误操作

    val name: String? = null // 可空类型

    println(name.length()) // 编译错误

    // 并且如果类型检测正确,编译器会为你做自动类型转换

    fun calculateTotal(obj: Any) {

        if (obj is Invoice)

            obj.calculateTotal()

    }


    互操作性

    充分利用 JVM、Android 和浏览器的现有库

    /*

    使用 JVM 上的任何现有库,因为有 100% 的兼容性,包括 SAM 支持。

    */

    import io.reactivex.Flowable

    import io.reactivex.schedulers.Schedulers

    Flowable .fromCallable {

        Thread.sleep(1000) // 模仿高开销的计算 "Done"

    }

        .subscribeOn(Schedulers.io())

        .observeOn(Schedulers.single())

        .subscribe(::println, Throwable::printStackTrace)

    // 无论是面向 JVM 还是 JavaScript 平台,都可用 Kotlin 写代码然后部署到你想要的地方

    import kotlin.browser.window

    fun onLoad() {

        window.document.body!!.innerHTML += "<br/>Hello, Kotlin!"

    }

    工具友好

    可用任何 Java IDE 或者使用命令行构建

    相关文章

      网友评论

          本文标题:Kotlin优势总结

          本文链接:https://www.haomeiwen.com/subject/lplshktx.html