IT七剑客 IT七剑客
首页
wresource
郭霖
孤寒者
IT邦德
沉默王二
老麦
stackoverflow
GitHub (opens new window)
首页
wresource
郭霖
孤寒者
IT邦德
沉默王二
老麦
stackoverflow
GitHub (opens new window)
  • 基础安卓文章

  • 服务器开发

  • 数据结构

  • Kotlin基础

    • Kotlin能否取代Java(Kotlin的历史以及现状)
      • 一、Kotlin的历史
      • 二、Kotlin的一些特性
      • 三、是否能取代Java
    • what?函数的创建只要一行代码(Kotlin中的函数)
    • 你们知道幕后字段吗?(Kotlin中基本类的创建)
    • 一行解决单例模式(Kotlin中常用的类)
  • wresource 安卓
  • Kotlin基础
wresource
2022-08-20
目录

Kotlin能否取代Java(Kotlin的历史以及现状)

@TOC

# 一、Kotlin的历史

​ Kotlin是由JetBrains团队于2011年开发的编程语言,其命名源于圣彼得堡附近的一个岛屿科特林岛,创立之初受到当时主流的各种语言的影响,与Java同样能为JVM所解释,这就意味着Kotlin可以直接使用Java开发的各种库以及框架,由于吸收了众多语言的优秀特性,于2017年被谷歌确定为Android开发的官方语言,同样也受到Spring,SpringBoot等服务端的开发的支持,使得Kotlin可以完整的开发出一款软件。

# 二、Kotlin的一些特性

  • 函数式编程
  • 实时空指针检查机制
  • 类型推导机制
  • 延迟加载机制
  • DSL(领域特定语言)
  • 协程(轻量级线程)
  • 内嵌表达式
  • ......

# 三、是否能取代Java

​ 事实上目前还没有任何一门语言可以取代Java的地位,Java的受众以及应用的广泛,迁移的成本相当昂贵,虽然编程语言不断地创新,但Java仍然是经典,Kotlin就目前而言,可以与Java完美地兼容,但其本身也有自己地特点,比如它解决了一个Java里面有用但却非常冗杂的Java bean,以前需要n行的代码,现在一行就够了

Java中的bean的写法

public class TestJava {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public boolean isGender() {
        return gender;
    }

    public void setGender(boolean gender) {
        this.gender = gender;
    }

    private boolean gender;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

Kotlin中bean的写法

class TestKotlin(val name:String, val age:Int, val gender:Boolean)
1

二者的效果是相同的

​ 但如果仅仅是这一方面来说明Kotlin的特性那就太小看它了,它解决了让全世界程序员最头疼的问题——空指针异常,可能基本上大部分人最不想看到的就是这个,Kotlin在编译前的代码检查阶段就可以发现潜在的空指针,基本上很难在运行阶段再次出现空指针(你故意的当我没说),基本上按照提示修改就可以杜绝大部分的潜在的空指针异常。

​ Kotlin是一个函数型编程语言,这有别于Java,意味着它做了更多的封装工作,简化Java的代码又是它的一大特点,开发者友好型语言就是说它了,所以Kotlin是Java某种程度上的一个补充,让我们在开发时多一种选择。

上次更新: 2023/04/05, 05:23:58
关于哈密顿路是否存在的遍历算法
what?函数的创建只要一行代码(Kotlin中的函数)

← 关于哈密顿路是否存在的遍历算法 what?函数的创建只要一行代码(Kotlin中的函数)→

最近更新
01
How the creator of Angular is dehydrating the web (Ep 574)
06-07
02
For those who just don’t Git it (Ep 573)
06-07
03
Modern work requires attention. Constant alerts steal it
06-07
更多文章>
Theme by Vdoing | Copyright © 2022-2024 IT七剑客 | MIT License
  • 闽ICP备2021006579号-4
  • 闽公网安备 35012102500470号
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式