zoukankan      html  css  js  c++  java
  • Kotlin介绍(非原创)

    文章大纲

    一、Kotlin简介
    二、Kotlin相比Java优势
    三、Kotlin与Java混合使用
    四、参考文章

     

    一、Kotlin简介

    1. 什么是Kotlin

    安卓和Java,前者是最受欢迎的移动开源系统,后者是最流行的编程语言。二者背后的谷歌和甲骨文,这两大巨头之间的恩怨已经持续了八年之久,主要是安卓侵权Java的版权之战。八年间的反反复复。。。
    新事物或者新技术的出现虽然不一定要替代旧技术,但是它的到来是无可阻挡的。就像拥有黑白电视的人,当彩色电视出现了,他们可以选择是否替换为彩色电视,却无法阻止彩色电视的诞生。科技是一个很玄妙的事实,总会出现一个新的技术来挑战长期建立好的秩序,就像之前我们在谈论Android开发时,Java是主要的编程语言,但是其实有很多可用于编写Android应用程序也符合JVM的编程语言·,而这其中Kotlin成为了那个打破秩序的先行者。事实上,在经过了谷歌的高调宣传之后,许多程序员已经将Kotlin称为编写Android应用程序的高级语言。Peter Ducker曾经说过:“新技术想要取代旧技术,它必须至少有10倍的好处。”
    Kotlin 是一个用于现代多平台应用的静态编程语言 ,由 JetBrains 开发。JetBrains,作为广受欢迎的 Java IDE IntelliJ 的提供商,在 Apache 许可下已经开源其Kotlin 编程语言。而Android Studio这款官方的Android开发IDE也是基于IntelliJ开发出来的。Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,被称之为 Android 世界的Swift,由 JetBrains 设计开发并开源。Kotlin 可以编译成Java字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在Google I/O 2017中,Google 宣布 Kotlin 成为 Android 官方开发语言。
    Kotlin是一门静态语言,支持多种平台,包括移动端、服务端以及浏览器端,此外,Kotlin还是一门融合了面向对象与函数式编程的语言,支持泛型、安全的空判断,并且Kotlin与Java可以做到完全的交互。

    2. Kotlin特点

    (1)代码量少且代码末尾没有分号。
    (2)被调用的方法需放到上边。
    (3)Kotlin是空安全的:在编译时期就处理了各种null的情况,避免了执行时异常。
    (4)它可扩展函数:我们也可以扩展任意类的更多的特性。
    (5)它也是函数式的:比如,使用lambda表达式来更方便地解决问题。
    (6)高度互操作性:你可以继续使用所有用Java写的代码和库,甚至可以在一个项目中使用Kotlin和Java
    (7)两种语言混合编程

    3. 为什么选择 Kotlin?

    (1)简洁: 大大减少样板代码的数量。
    (2)安全: 避免空指针异常等整个类的错误。
    (3)互操作性: 充分利用 JVM、Android 和浏览器的现有库。
    (4)工具友好: 可用任何 Java IDE 或者使用命令行构建。

    二、Kotlin相比Java优势

    null安全性
    它可以让编译器系统地标记潜在的空指针解引用,避免运行时错误。

    智能的类型推断

    val a =“abc”//类型推断为String 
    val b = 4 //类型推断为Int 
    val c:Double = 0.7 //显式声明
    val d:List <String> = ArrayList
    if(obj is String){ 
        print(obj.toUpperCase())// obj现在已知是一个String 
    }
    

    直观的等式
    没有了equals()和==的混淆:

    val john1 =Person(“John”)
    val john2 =Person(“John”)
    john1 == john2 // true(结构相等)
    john1 === john2 // false(引用相等)
    

    没有更多的分号
    为什么分号在Java中是必需的?没有分号可以更快的编写代码。

    没有new关键字
    省去你不要的代码

    Lambdas
    超级简洁:

    val sum = { x: Int, y: Int -> x + y }   // type: (Int, Int) -> Int
    val res = sum(4,7)                      // res == 11
    

    三、Kotlin与Java混合使用

    1. Java转Kotlin

    选中Java文件,点击菜单栏Code-->Convert Java File to Kotlin File ,即可把java文件转换成kotlin文件。

     

    点击右上角提示的 configue ,然后会出现一个弹窗。

     

    设置工程里面哪些需要配置kotlin文件支持。比如我这里选中的是single module,module名为kotlinlibrary。还可以选择kotlin的编译和运行版本号,比如我选择的1.2.30,然后点击OK即可,如下图所示。

     

    然后我们就可以看到项目根路径的build.gradle和kotlinlibrary这个module的build.gradle都做了kotlin的配置。如图所示:

     

    kotlinlibrary 的 build.gradle 配置:

     

    2. Kotlin转Java

    点击菜单栏Tools-->Kotlin-->Decompile Kotlin To Java 就可以了

     

    四、参考文章

    1. https://blog.csdn.net/admans/article/details/86487188
    2. https://blog.csdn.net/yudbl/article/details/86618633
    3. https://www.zhihu.com/question/37288009

    愿世界待你美好如初

  • 相关阅读:
    C++多线程二
    C++多线程一
    定义抽象数据类型
    泛型函数
    关联容器(map):支持高效查找的容器,一种键值对的集合。
    字符串拆成单词的另一种实现
    将字符串拆成单词,并算最长的长度
    重载,排序,集合实例
    程序调用动态链接库中的方法,位图,类
    用bosybox制作文件系统
  • 原文地址:https://www.cnblogs.com/WUXIAOCHANG/p/10991647.html
Copyright © 2011-2022 走看看