在Google I/O 2017中,Google 宣布 Kotlin 成为 Android 官方开发语言。

为什么选择 Kotlin? 简洁: 大大减少样板代码的数量。 安全: 避免空指针异常等整个类的错误。 互操作性: 充分利用 JVM、Android 和浏览器的现有库。 工具友好: 可用任何 Java IDE 或者使用命令行构建。
使用kotlin已经有一段时间了。打算从宏观上做一下java和kotlin的对比。java8虽然也有很多新特性,但是android低版本并不兼容。因此这里以旧版本为例。
kotlin 简介
Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,被称之为 Android 世界的Swift,由 JetBrains 设计开发并开源。
Kotlin 可以编译成Java字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。
易用性
- 在语法糖的加持下,kotlin能够用更短的代码实现更多的功能。这是java 无法比拟的。所谓代码量越少,出bug的可能性就越低。
- kotlin特有的扩展属性,不再需要java工具类,对开发更加友好。
比如我们想实现字符串判空操作,在java中需要写一个StringUtil类,这样其他开发同学想实现该功能的时候,可能并不知道已经有人实现了该功能,存在重复造轮子的可能。通过扩展属性,我们可以很方便的看出String类都存在哪些方法。
- java中的bean类总是需要使用插件生成setter getter方法。kotlin中的data关键字可以解决这类问题,data类在编译期自动生成getter setter方法。
规范性
工程项目都是需要指定开发规范的。比如变量命名等。在java中,方法重载的时候会生成@Override注解,但是这并不是强制约束的。kotlin的方法采用override关键字进行了强制约束。
再比如TODO。java中的TODO是以注释的形式存在,即使没有实现TODO处的代码,也没什么运行时问题。kotlin的TODO形式如下:
fun main(args: Array<String>) {
TODO()
}
kotlin TODO的实现
@kotlin.internal.InlineOnly
public inline fun TODO(): Nothing = throw NotImplementedError()
可以看到运行时会抛出异常。
思考:这里为什么不在编译期抛出异常呢?
安全性
java中虽然有@Nullable @NotNull等注解。但是不会在编译期起作用,而是在运行期抛出异常。kotlin在声明变量的时候,可以指定变量是否为空,调用可为空对象时,需要进行空判断。
跨平台
java在jvm的协助下虽然也是跨平台语言,但是不能像kotlin一样可以既可以编译成class字节码,又可以编译成js。
编译速度
只有全量编译下,kotlin比java慢。增量编译下,两者几乎没有差距。
其他kotlin特性
懒加载、高阶函数、协程、inline操作符、运算符重载、默认参数等。
相关推荐:
chatai写作免费一键生成,轻松解决写作难题!,陈逗逗ai换脸在线看
ChatGPT当前不可用?如何应对AI服务中断的挑战,ai文章免费写作app
打造内容创作新时代:有言AI生成助力创作者释放灵感
SEO手法如何通过精准优化提升网站排名,获取海量流量,网站建设协议流程是什么
ChatGPT最近不好用了?了解这些背后的原因与解决方案,ai sketcher
了解SEO:让你的网站在搜索引擎中脱颖而出的秘密武器,宝山区常见网站优化
seo需要什么人员,seo需要什么技能 ,画大学ai
互联网时代的“搜索截流”新玩法:如何抓住流量红利,甘孜做优化网站软件
ChatGPT:基于Transformer技术的语言模型,开创人工智能未来,AI独战OK
seo网页优化什么意思,seo网站优化必知的10个问答,问吧,【解决】百度不知道 ,ai识别点读机
ChatGPT不能用?揭秘你可能忽视的真相和解决方法,强国ai2022
用AI生成的文章算原创吗?深度解析AI写作背后的秘密
seo简介主要写什么,seo主要内容 ,AI弧线这
高效创作新时代AI文案速写工具,让创作更轻松
SEO确实是企业增长的关键,这些技巧让你走在行业前沿,山东网站建设信息
ChatGPT:引领人工智能对话新时代的智能助手,Ai shiang
SEO关键词推广软件官网-助力企业实现高效精准的网络营销,圈圈ai
怎么用AI缩写文章,轻松提高效率的全新方法
用AI优化文章,轻松提升内容质量与创作效率
GPT哪个模型是最新的?AI语言生成的未来,ai回头
文章AI生成:让创作变得更简单、更高效!
SEO努力:提升网站排名的关键策略,网站建设微企动力
SEO就是:让你的品牌脱颖而出,获得更多曝光与流量,梅岭关键词排名优化
ChatGPT无法加载?检查您的网络设置并尝试重启,轻松解决连接问题!,ai制作艺术字
ChatGPT美区要梯子吗?轻松畅享全球智能聊天体验,ai音位
什么是seo概念,什么是seo,sem ,ai音标谐音
AI热门软件,未来科技的钥匙
seo链接锚是什么,什么是锚链接,如何设置锚链接 ,保山智能AI
实用AI工具:提升效率、优化生活的科技利器
用AI写文章会不会查重率高?破解写作困扰的真相
ChatGPT您的应用遇到问题,无法正常启动?如何解决并重新体验智能助手的魅力!,男头ai关键词
SEO优化全攻略提升网站排名的关键步骤与未来趋势,这是什么新晋动画ai
AI提供的阅读书目对学生的专业知识有多大帮助,沃奇ai
SEO职责:为网站注入流量,提升品牌竞争力,拼多多女装关键词排名
SEO结构优化:助力网站提升排名与流量的关键策略,杭州小网站推广哪家好做
SEO是什么意思?揭秘SEO的真正含义与重要性,公司推广网站询问d火18星来
GPT在智能聊天机器人中的作用:重塑沟通体验,开创智能未来,百万级ai
seo要懂些什么,seo主要做什么的 ,小艾艾AI
什么是seo行业,seo是什么职业做什么的 ,ai标题字体效果
SEO符合:提升网站排名的秘诀,助力企业赢在搜索引擎优化的赛道,优化没续费 网站没了
SEO包月服务:助力企业提升网站排名与流量的长期利器,网站建设流程 报读文库
seo的推广工具,seo推广软件哪个好 ,国内ai写作论文怎么样
什么是“神马关键词”?如何用它提升你的网络营销效果?,新闻发布网站怎么做推广
SEO技巧提升网站流量:打造高效网站的关键策略,Ai测脸相
SEO软优化:助力网站实现流量爆发的秘密武器,延平区网页seo
优化软件:让电脑性能焕然一新,提升效率的秘密武器,大理网站推广招聘信息最新
GPT-3.5网页版:让你与人工智能零距离接触,ai英语学
为什么选择SEO会员服务,让您的网站流量飞速增长,靖边专业网站建设公司
用AI创作的文章算原创吗?深度背后的逻辑与意义
AI一键生成文章网页版,让内容创作更简单高效