天天看點

什麼是Kotlin?Java的替代語言?

什麼是Kotlin

Kotlin是一個基于JVM的新的程式設計語言,2010年由IntelliJ IDEA所在的JetBrains公司開發,自2012年以來一直開源。

Kotlin可以編譯成Java位元組碼,也可以編譯成JavaScript,友善在沒有JVM的裝置上運作。

Kotlin是面向對象和功能程式設計功能的JVM和Android的通用、開源、靜态的實用的程式設計語言。它專注于互動性、安全性及清晰度和工具的支援。

設計理念

1、建立一種相容Java的語言

2、讓它比Java更安全,能夠靜态檢測常見的陷阱。如:引用空指針

3、讓它比Java更簡潔,通過支援variable type inference,higher-order functions (closures),extension functions,mixins and first-class delegation等實作。

4、讓它比最成熟的競争對手Scala語言更加簡單。

Kotlin優勢

1、簡潔: 大大減少樣闆代碼的數量。

2、安全: 避免空指針異常等整個類的錯誤。

3、互操作性: 充分利用 JVM、Android 和浏覽器的現有庫。

4、工具友好: 可用任何 Java IDE 或者使用指令行建構。

代碼轉換

Java代碼:

public class JavaCode {
    public String toJSON(Collection<Integer> collection) {
        StringBuilder sb = new StringBuilder();
        sb.append("[");
        Iterator<Integer> iterator = collection.iterator();
        while (iterator.hasNext()) {
            Integer element = iterator.next();
            sb.append(element);
            if (iterator.hasNext()) {
                sb.append(", ");
            }
        }
        sb.append("]");
        return sb.toString();
    }
}      

轉換成Kotlin代碼:

fun toJSON(collection: Collection<Int>): String {
    val sb = StringBuilder()
    sb.append("[")
    val iterator = collection.iterator()
    while (iterator.hasNext())
    {
        val element = iterator.next()
        sb.append(element)
        if (iterator.hasNext())
        {
            sb.append(", ")
        }
    }
    sb.append("]")
    return sb.toString()
}      

看起來,Kotlin就像是一個簡化的Java版本。Java和Kotlin兩個語言可以互相轉換。

未來發展

在Google I/O 2017中,Google 宣布 Kotlin 成為 Android 官方開發語言。

需要注意的是目前在國内用的比較少,Kotlin也是比較趕潮流的語言,在開發語言中排名和影響力也比較落後,從Java轉到Kotlin也非常容易,所有,有興趣的同學可以研究試玩下。