Kotlin从入门到跑路(一)

   日期:2020-10-02     浏览:98    评论:0    
核心提示:Kotlin从入门到跑路(一)那个Kotlin语言不是越来越火了吗,但是自己的Android项目中也暂时没有用到Kotlin作为主流的开发语言,所以就想自己跟着文档来学习一下,看看这个东西有多么的香。Kotlin里面对基本数据类型的定义没有Java那么具有强制性的声明,只用一个val就行了,让我想到了js里面的var。可是当我想看一下这个数据到底是什么类型时,就给我报了以下Exception:kotlin.jvm.KotlinReflectionNotSupportedError: Kotlin r

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中那些没必要的模板代码,大大提升了我们的开发效率。

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服