对 Kotlin 的初步了解

本文介绍了Kotlin成为Android官方语言后的背景,对比了Kotlin与Java的优势,如函数式特性、扩展函数和空安全。通过实例展示了如何使用Kotlin编写Android demo,并探讨了在服务端开发中使用Kotlin与Spring整合的可能性。Kotlin的简洁语法和与Java的高互操作性使其在移动和后端开发中具有吸引力。
摘要由CSDN通过智能技术生成

引言

自从Google I/O 大会上宣布 Kotlin 成为 Android 开发的官方语言,Kotlin 就吸引了很多人的目光,笔者也收集了一些资料,整理成这篇博客来简单介绍下Kotlin。

Kotlin的起源:

Kotlin是一个基于JVM的新的编程语言,由JetBrains开发。JetBrains,作为目前广受欢迎的Java IDE IntelliJ的提供商,在Apache许可下已经开源其Kotlin编程语言。与Java相比,Kotlin的语法更简洁、更具表达性,而且提供了更多的特性,比如,高阶函数、操作符重载、字符串模板。它与Java高度可互操作,可以同时用在一个项目中。

接下来会从以下几个方面具体了解Kotlin

  1. Kotlin与Java语言上的比较;
  2. 使用 Kotlin 写一个Android demo;
  3. 尝试使用 Kotlin 代替 Java 完成服务端开发 ;

1. Kotlin与Java语言上的比较;

Kotlin相对Java主要有以下优势:

  • 函数式的:Kotlin是基于面向对象的语言。使用了很多函数式编程的概念,比如,使用lambda表达式来更方便地解决问题。其中一个很棒的特性就是Collections的处理方式。

函数式编程也是一个很火热的概念,具有一些比面向对象编程优秀的地方,建议可以去网上找资料了解一下。

  • 可以扩展函数:意味着我们可以扩展类的更多的特性,甚至我们没有权限去访问这个类中的代码。
    例如,以下代码可以更简单的使用Toast
 fun Activity.toast(message: CharSequence, duration: Int =  oast.LENGTH_SHORT){

    Toast.makeText(this, message, duration).show()
 }

  - Activity:表示函数的接收者,也就是函数扩展的对象
  - . :扩展函数修饰符
  - toast:扩展函数的名称
  - (...):扩展函数的参数,可以为null
  • 高度互操作性的:可以继续使用所Java写的代码和库,因为两
    个语言之间的互操作性是完美的。甚至可以在项目中使用Kotlin和Java混合编程。

我们可以轻松的使用 Intellij IDEA 自带的代码转换把Java代码转换为Kotlin代码

这里写图片描述

以转换ManActivity为例

package com.example.zz.kotlin;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {
   

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}
package com.example.zz.kotlin

import android.support.v7.app.AppCompatActivity
import android.os.Bundle

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }
}

Kotlin 的文件是 .kt 结尾,向 .kt 文件中粘贴 Java 代码时都能自动转化为 Kotlin 代码,有点黑科技的意思。

这里写图片描述

Intellij IDEA 提供的十分贴心的转换代码功能,可以让初学者快速上手,同时也证明了 Kotlin 和 Java 兼容性良好。在熟悉 Kotlin 之后完全可以和 Java 混合开发。还有一个好处是 Kotlin 可以使用 Java 众多完善的框架,同时 Java 也可以使用 Kotlin 的优秀框架。所以 Kotlin 不仅是移动开发者需要关注的,JavaEE 开发者也可以把 Kotlin 作为第二语言掌握下来。

  • 更加易表现:Kotlin最重要的优点之一。开发相同功能你可以少写很多的代码。
    以下这个类是一个很常见的Java类,但是使用Kotlin可以节省很多代码量。
public class Student {
    private String name;//姓名
    private int age;//年龄
    private String hobby;//爱好

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值