另外,包括Pinterest、Evernote、Uber、Trello、Postmates、Corda等顶级公司也已经将他们的Android应用程序从Java转换到了Kotlin——这就引起了开发者们的好奇心:在Android应用程序开发中,究竟哪种语言可以获得最佳的性能?不要担心,阅读本文你就会知道Kotlin 和Java哪种更好用了。
其他的一些问题还有:
从Kotlin转向Java是一个好主意吗?还有一些谷歌上提问最多的问题:
什么是Kotlin?
简单来说,Kotlin可以更好地构建一个能在Java上运行的应用程序,并且不会产生很多麻烦。Kotlin是一种编程语言,可以通过制作一款很好的应用程序帮助开发者们在更短的时间内构建应用程序。
Kotlin是一种静态类型的面向对象的编程语言,它是由JetBrains 开发的。它具有与Java的互操作性和简洁性,并支持Android Studio。
我听说过有人将Kotlin描述为“Java light”,这很可能是因为Kotlin与Java相似。
事实上,Kotlin利用你设备中的Java机器可以更容易地运行一个完成的应用程序。这就要求你的计算机、手机或其他设备上要安装Java。即使你可以在一个应用程序中同时使用Java和Kotlin。
基本介绍完之后,我们继续讨论Kotlin与Java的不同之处。
1、在Java中创建数据类型:
publicclassUserEntity {private String userId;private String name;private String email;private String
mobileNumber;publicvoidsetUserId(String userId){this.userId = userId; }publicvoidsetName(String name){this.name =
name; }publicvoidsetEmail(String email){this.email = email; }publicvoidsetMobileNumber(String mobileNumber){this.mobileNumber =
mobileNumber; }public String getUserId(){return userId; }public String getName(){return name; }public String getEmail(){return
email; }public String getMobileNumber(){return mobileNumber; }
2、在Kotlin中创建数据类型:
classUserEntity{var userId: String? = nullvar name: String? = nullvar email: String? = nullvar mobileNumber: String? = null
Kotli 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 n优于Java之处?
开发者们对于Kotlin 和Java的比较存在多种看法,但是下面是他们普遍认为Kotlin优于Java的地方。
声明数据类型可能既繁琐又乏味,但Kotlin提供了主动类型推断形式的解决方案。它可以通过查看其余代码来告诉开发者们某个函数正在使用的数据种类,并防止开发者们对代码中表达式类型和值进行不必要的声明。
我们都知道掌握Java及其语法需要多年时间,Kotlin则不是这样的,Kotlin的语法并不像Java那么复杂。在Kotlin中编写代码比在Java中操作要简单,它利用了之前编程语言中的最佳创意。而且,阅读和理解代码也很简单,调试花费的时间就会更少。
Kotlin允许开发者们在不使用冗余类型的情况下定义函数和静态对象。开发者可以很容易地在一个位置定义对象和函数,这样读取和调试代码就变得更加容易。最后,用Kotlin编写的代码比用Java编写的更友好、更快速以及更容易。
Kotlin和Java比较
既然你已经知道Kotlin是什么了,那么我们来看一下Kotlin和Java在功能方面的区别吧。
流行程度方面:
当Google于2016年推出其首个稳定版本时,截止到2017年5月,Kotlin的市场份额已增至4.28%。到2017年9月,增至7.54%。
2018年进行的一项调查显示,100,000名Stack Overflow用户中有超过7.54%的受访者使用Kotlin进行Android开发。
但是目前Java的受欢迎程度仍然处于高峰。Java的TIOBE索引可以作为最新证据,表明2019年3月Java是最受欢迎的Android编程语言。
Android Studio 支持方面:
说到Java,Android不支持所有的Java功能。虽然Android完全支持Java 7,但它只支持Java 8的部分功能。
但是,Kotlin在Android Studio支持方面是有效的。因此,在支持全方位功能方面,你无疑可以选择使用Kotlin。如果你计划在未来构建多个应用程序,Kotlin是一个非常不错的选择。
处理Null方面:
在使用Java时,你可以向任何变量发送“Null”。当你使用带有控制的对象引用时,你会觉得这是一种挑战,因为这时你会收到“Null Pointer Exception”。
而这就是Kotlin的一大优势。在Kotlin中,没有哪种“类”(type)在默认情况下有空值(null)。如果开发者们想要在“可空的”变量中保留空值,则必须明确定义这个空值,这就消除了“Null Pointer Exception”。
处理长期网络I/O或CPU密集型任务方面:
Java允许后台进行多线程处理,但很复杂,一个线程会涉及长期的I/O运行或CPU密集型运行。但在Kotlin中,开发者可以运行多个线程,同时又支持协同程序。这些操作在一定程度上会使执行无效,但不会阻塞任何线程。
因此,Kotlin在处理长期网络I/O或CPU密集型任务方面领先于Java。
开发成本方面: