Google剛剛宣佈將Kotlin語言作為Android的一級開發語言。雖然Kotlin由JetBrain推出有好幾年了,但是詳細很多人都不太瞭解。
下面我們通過與JAVA的對比,來快速瞭解一下Kotlin有什麼特點。
Kotlin解決的一些Java問題
空引用由類型系統控制
沒有原始類型
數組在Kotlin中是不變的
Kotlin具有function類型這種數據 ,而不是Java的函數式接口(SAM)
不帶通配符的使用位置編譯(user-site varirance)
Kotlin沒有檢查例外
Kotlin沒有,Java有
檢查異常
不是類的原始類型
靜態成員
非私有字段(Fields)
通配符類型
Kotlin有,Java沒有
Lambda表達式+內聯函數 =執行自定義控件結構
擴展函數
空安全
智能類型轉換
字符串模板
屬性(Properties)
主構造函數和次構造函數
類的委託
變量和屬性類型的類型推斷
支持單例
聲明位置變異和類型保護
範圍表達式
運算符重載
伴生對象
數據類
用於只讀和可變集合的單獨接口
協程(Coroutines)
相關推薦
'為何很多人對遊戲業前景不看好了?'
"對遊戲業前景不好看是而今很多人的一種看法,但本質上來說,遊戲業依舊在快速增長、遊戲業沒有問題,問題其實出在開發者身上,且集中表現在中小團隊身上。遊戲業的競爭模式其實是非常好的。從商業回報看,中國遊戲行業依舊在保持增長,而遊戲業與其他很多行業非常大的不同是,每個產品都有自己...
'Google Ads 再次擴展了關鍵字變量匹配'
"在過去的幾年裡,Google Ads已經擴大了使用相近的關鍵字變量。Google改變的匹配類型不僅包括拼寫錯誤和複數,還包括功能詞、修改和重新排序。日前,谷歌再次擴展了相近變量的使用。短語匹配和廣泛匹配修飾語以下是2019年7月31日谷歌官方廣告公告原文:在未來幾周內,廣...
'千萬不要在《我的世界》召喚100000顆鑽石,MC:給你點顏色看看'
"背景:一位ID名為“okthennoobs”的小夥子,突發奇想:在《我的世界》裡"/give"自己100000跟骨頭,於是發生了一個令他後悔終生的決定。所以基於此次事件的背景下,在社區裡,有掀起了“你敢給自己10萬顆鑽石麼?”的挑戰!挑戰:給自己10萬顆鑽石,究竟會發生...
'Java中的String為什麼是不可變的?'
"什麼是不可變對象?眾所周知, 在Java中, String類是不可變的。那麼到底什麼是不可變的對象呢? 可以這樣認為:如果一個對象,在它創建完成之後,不能再改變它的狀態,那麼這個對象就是不可變的。不能改變狀態的意思是,不能改變對象內的成員變量,包括基本數據類型的值不能改變...
Java
2019-09-12
推薦中...