从Java到Kotlin(一)

2018-02-27 11:33:31来源:https://www.jianshu.com/p/f5108c574a7c作者:四会歌神陈子豪人点击

分享


目录

1.什么是Kotlin
2.为什么要选择Kotlin
3.如何使用Kotlin来开发Android
4.与Java的互操作性


1.什么是Kotlin

谷歌在2017年中举行的I/O开发者大会上宣布,将Kotlin语言作为安卓开发的一级编程语言。Kotlin由JetBrains公司开发,与Java 100%互通,并具备诸多Java尚不支持的新特性。JetBrains在2010年首次推出Kotlin编程语言,并在次年将之开源。Android Studio3.0后的版本会提供对Kotlin的支持。


2.为什么要选择Kotlin




上图来自Kotlin的官网,列举了4个词:

简洁
举个例子,在AndroidStudio里分别用Kotlin和Java创建下图的模板










可以看到,Kotlin一共用了84行,而Java用了101行。由此可得,Kotlin比Java代码量更少,更简洁。
如果这个例子不够说服力的话,再举一个。
在开发中我们经常用到的实体类,用Java写的话是这样的
class User {
private String name;
public Person(String name) {
this.name = name;
}
public void setName(String name) {
this.name = name;
}
public void getName() {
return name;
}
}

而用Kotlin写是这样的


data class User(var name: String)

没错就是这么简单!



安全
Kotlin是空安全的,在编译时期就处理了可能会产生空指针的情况,避免了执行代码时出现空指针异常。举个例子:
如果用Java中定义一个String可以这样写
String str;//默认为null

如果我们没有给这个str赋值时,可能在其他操作中出现空指针异常。
如果用Kotlin这样定义一个String,结果如下图







编译不通过,除非我们这样写


var str: String? = null//如果str为空,则等于null

这样编译才能通过。虽然都为null,但是Kotlin会检查一遍可能产生空指针的地方,能够排除大量的空指针异常。


互操作性
Kotlin与 Java100% 可互操作,Kotlin的项目可以使用所有的用Java写的代码和库,也可以在一个项目中使用Kotlin和Java两种语言混合编程。


工具有好
Kotlin和AndroidStudio都是出自JetBrains,工具自然少不了对语言的支持。



3.如何使用Kotlin来开发Android
如果你的AndroidStudio版本是3.0之前:

(1).通过 File | Settings | Plugins | Install JetBrains plugin… 搜索并安装 Kotlin 插件。



(2).在根目录的build.gradle中加入


buildscript {
ext.kotlin_version = '1.2.10'
repositories {
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}

(3).在app/build.gradle中引入


apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
buildscript {
ext.kotlin_version = '1.2.10'
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}

完成上面3步即可开始Kotlin之旅


如果你的AndroidStudio版本是3.0之后:
(1).内置安装 Kotlin 插件
(2).新建项目,自动引入Kotlin所需的依赖
(3).如果是用AndroidStudio3.0打开之前的项目,参照上面2.3两点

4.与Java的互操作性


安装完Kotlin的插件后,可以新建Kotlin File/Class




Kotlin 在设计时就考虑了 Java 互操作性。可以从 Kotlin 中自然地调用现存的 Java 代码,并且在 Java 代码中也可以很顺利地调用 Kotlin 代码。

Java代码复制到Kotlin Class里可以转换为Kotlin代码




Kotlin 插件自带了一个 Java 到 Kotlin 的转换工具,可以把所有Java代码转换成Kotlin代码,转换工具在Code菜单里面的Convert Java File to Kotlin File选项





总结

谷歌在2017年中举行的I/O开发者大会上宣布,将Kotlin语言作为安卓开发的一级编程语言。在Android开发中,必将会有越来越多人使用Kotlin来开发。本篇文章标题为《从Java到Kotlin(一)》,后续还有几篇文章作为一个系列,目的是让熟悉Java的人看完后可以马上使用Kotlin进行开发。
本篇文章是本系列文章的第一篇,主要简述了 什么是Kotlin 和 为什么要用Kotlin ,Kotlin能写出更简洁的代码,而且Kotlin是空安全的,能杜绝大部分空指针异常。


更多精彩文章请扫描下方二维码关注微信公众号"AndroidCzh":这里将长期为您分享原创文章、Android开发经验等!
QQ交流群: 705929135












最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台