Kotlin從入門到跑路(一)
那個Kotlin語言不是越來越火了嗎,但是自己的Android專案中也暫時沒有用到Kotlin作為主流的開發語言,所以就想自己跟著檔案來學習一下,看看這個東西有多么的香,
Kotlin里面對基本資料型別的定義沒有Java那么具有強制性的宣告,只用一個val就行了,讓我想到了js里面的var,可是當我想看一下這個資料到底是什么型別時,就給我報了以下Exception:
kotlin.jvm.KotlinReflectionNotSupportedError: Kotlin reflection implementation is not found at runtime. Make sure you have kotlin-reflect
這個時候我就懵逼了,我就創建了一個新的工程,寫了一個這個fun就直接給我報錯了?這Kotlin還怎么玩下去(來自萌新的疑惑)?
fun main(){
baseType()
}
fun baseType() {
val num1 = -1.45
printType(num1)
}
fun printType(param:Any){
println("$param is ${param::class.simpleName} type")
}
然后我們去看這個Exception,是說我們缺少了kotlin-reflect這個依賴,那么這里的kotlin-reflect到底是個什么東西呢?
反射是指計算機程式在運行時(Run time)可以訪問、檢測和修改它本身狀態或行為的一種能力,Kotlin使函式和屬性成為語言中頭等公民,且以近似函式式或回應式方式內省屬性和函式(如運行時屬性名或型別;函式名或型別)
在Java平臺上,需要使用反射特性的運行時組件為獨立的JAR檔案(kotlin-reflect.jar),目的是降低不需要使用反射的應用包的大小,如果要使用反射,首先需要保證專案中已添加相應的.jar檔案,
那么我們就去app Module下面的build.gradle檔案里面添加一下kotlin-reflect依賴就可以了,代碼如下:
dependencies {
//...
implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
}
bingo,這樣我們的程式就能正常運行了(真難),輸出:

不過話說回來,Kotlin的代碼量是真的少,減少了java中那些沒必要的模板代碼,大大提升了我們的開發效率,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/150199.html
標籤:其他
