首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

简单聊聊kotlin

作为一款主打IDE公司的产物,kotlin从初始状态就表现得极具野心,不单可以编译成java字节码,还可以编译成javascript,甚至是机器码。不过在这里,主要说的是其作为jvm语言,在我看来,JetBrains还是很明白java程序员的痛点所在,kotlin表现得恰到好处。

此次主要对kotlin做一些简单介绍,属于我先抛个砖,然后引出诸位的玉。由于本人使用kotlin的时间并没有太长,所以难免会有谬误之处,欢迎诸君雅正。

现如今,kotlin已经成为Android的一级开发语言,虽然这和oracle收购了sun公司之后,将java收得越来越紧有很大的关系。最容易看得见的好处就是,与java相比,kotlin更安全,更简洁,也更简单。或者有人要说了,jvm语言现在已经有好几种,尤其在简单一项,几乎所有的jvm语言都表现得比java更简洁。保守派总说,这无非是语法糖而已,但大量的语法糖带来的开发效率提升,是显而易见的。kotlin与其他的jvm语言相比,让人最舒服的就是,其与maven非常亲和。在使用idea开发maven项目的时候,如果使用kotlin,甚至都不需要安装kotlin的编译器,只需要引入相关的maven包和build插件即可。

语法方面的加强,在此提几个个人觉得比较有意思的点。

在编译时,会对参数进行非常检测,大大降低了空指针异常的发生在语法层面,对代理提供支持特有的修饰符operator:操作符open:可继承inline:内联infix:中缀

对类与接口可以增强拓展支持协程,可以快速而简单的实现异步编程

上述几点,让我附上几段简单的代码来表示

由于kotlin的母公司为JetBrains,这家专注于IDE的公司,一推出这款语言,就已经为开发者想好,如何快速的将java代码转成kotlin代码。只需要按照如下四步,就可以快速的将java代码专成kotlin代码,有兴趣的同学,不妨试试看。

复制java代码

新建kt文件

粘贴代码

根据idea的提示,点击确定

除了位运算在转换的过程中,可能会出问题(应该绝大多数项目中,都不会用到位运算),其他的代码基本上可以实现完美转换。

在这里需要提醒的是,虽然kotlin一直被强调,可以和java完美互调,但实际上,inline函数是没有办法被java调用的。这是因为inline函数会在编译的时候将那部分代码复制到调用处,也就是说,编译完成之后,就不存在inline函数了··· ···

最后提两个比较有意思的点。

java如果在匿名内部类里面添加了方法,是没办法直接调用的,这是因为它只能被父类型引用,但是在kotlin里面,是直接可以引用的。

对于java编译器来说,非运行时异常不在方法签名中声明抛出,会编译不通过。但是对于jvm来说,运行时异常和非运行时异常并无区别。在kotlin中,可以把所有的异常,都当成运行时异常··· ···

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180129G00TOO00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券