從Java到Kotlin(一)

目錄

1.什麼是Kotlin
2.爲何要選擇Kotlin
3.如何使用Kotlin來開發Android
4.與Java的互操做性html


1.什麼是Kotlin

谷歌在2017年中舉行的I/O開發者大會上宣佈,將Kotlin語言做爲安卓開發的一級編程語言。Kotlin由JetBrains公司開發,與Java 100%互通,並具有諸多Java尚不支持的新特性。JetBrains在2010年首次推出Kotlin編程語言,並在次年將之開源。Android Studio3.0後的版本會提供對Kotlin的支持。android


2.爲何要選擇Kotlin

上圖來自 Kotlin的官網,列舉了4個詞:

  • 簡潔 舉個例子,在AndroidStudio裏分別用Kotlin和Java建立下圖的模板
    能夠看到,Kotlin一共用了84行,而Java用了101行。由此可得,Kotlin比Java代碼量更少,更簡潔。 若是這個例子不夠說服力的話,再舉一個。 在開發中咱們常常用到的實體類,用Java寫的話是這樣的
class User {
    private String name;

    public Person(String name) {
        this.name = name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void getName() {
        return name;
    }
}
複製代碼

而用Kotlin寫是這樣的編程

data class User(var name: String)
複製代碼

沒錯就是這麼簡單!安全

  • 安全 Kotlin是空安全的,在編譯時期就處理了可能會產生空指針的狀況,避免了執行代碼時出現空指針異常。舉個例子: 若是用Java中定義一個String能夠這樣寫
String str;//默認爲null
複製代碼

若是咱們沒有給這個str賦值時,可能在其餘操做中出現空指針異常。 若是用Kotlin這樣定義一個String,結果以下圖 bash

編譯不經過,除非咱們這樣寫

var str: String? = null//若是str爲空,則等於null
複製代碼

這樣編譯才能經過。雖然都爲null,可是Kotlin會檢查一遍可能產生空指針的地方,可以排除大量的空指針異常。微信

  • 互操做性 Kotlin與 Java100% 可互操做,Kotlin的項目可使用全部的用Java寫的代碼和庫,也能夠在一個項目中使用Kotlin和Java兩種語言混合編程。app

  • 工具備好 Kotlin和AndroidStudio都是出自JetBrains,工具天然少不了對語言的支持。maven


3.如何使用Kotlin來開發Android

  • 若是你的AndroidStudio版本是3.0以前:

(1).經過 File | Settings | Plugins | Install JetBrains plugin… 搜索並安裝 Kotlin 插件。編程語言

(2).在根目錄的build.gradle中加入函數

buildscript {
    ext.kotlin_version = '1.2.10'

    repositories {
        mavenCentral()
    }

    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}
複製代碼

(3).在app/build.gradle中引入

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'

buildscript {
    ext.kotlin_version = '1.2.10'

    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}
複製代碼

完成上面3步便可開始Kotlin之旅

  • 若是你的AndroidStudio版本是3.0以後: (1).內置安裝 Kotlin 插件 (2).新建項目,自動引入Kotlin所需的依賴 (3).若是是用AndroidStudio3.0打開以前的項目,參照上面2.3兩點

4.與Java的互操做性

  • 安裝完Kotlin的插件後,能夠新建Kotlin File/Class
  • Kotlin 在設計時就考慮了 Java 互操做性。能夠從 Kotlin 中天然地調用現存的 Java 代碼,而且在 Java 代碼中也能夠很順利地調用 Kotlin 代碼。
  • Java代碼複製到Kotlin Class裏能夠轉換爲Kotlin代碼
  • Kotlin 插件自帶了一個 Java 到 Kotlin 的轉換工具,能夠把全部Java代碼轉換成Kotlin代碼,轉換工具在Code菜單裏面的Convert Java File to Kotlin File選項

總結

谷歌在2017年中舉行的I/O開發者大會上宣佈,將Kotlin語言做爲安卓開發的一級編程語言。在Android開發中,必將會有愈來愈多人使用Kotlin來開發。本篇文章標題爲《從Java到Kotlin(一)》,後續還有幾篇文章做爲一個系列,目的是讓熟悉Java的人看完後能夠立刻使用Kotlin進行開發。 本篇文章是本系列文章的第一篇,主要簡述了 什麼是Kotlin爲何要用Kotlin ,Kotlin能寫出更簡潔的代碼,並且Kotlin是空安全的,能杜絕大部分空指針異常。

參考文獻:
Kotlin語言中文站、《Kotlin程序開發入門精要》
推薦閱讀:
從Java到Kotlin(一)爲何使用Kotlin
從Java到Kotlin(二)基本語法
從Java到Kotlin(三)類和接口
從Java到Kotlin(四)對象與泛型
從Java到Kotlin(五)函數與Lambda表達式
從Java到Kotlin(六)擴展與委託
從Java到Kotlin(七)反射和註解
從Java到Kotlin(八)Kotlin的其餘技術
Kotlin學習資料總彙


更多精彩文章請掃描下方二維碼關注微信公衆號"AndroidCzh":這裏將長期爲您分享原創文章、Android開發經驗等! QQ交流羣: 705929135

相關文章
相關標籤/搜索