文档章节

Kotlin真的会取代JAVA吗?

大大梁
 大大梁
发布于 2017/06/01 15:23
字数 493
阅读 24
收藏 0

原文链接

自从Kotlin 成为 Android 开发一级语言,Kotlin确实以其实用,高效赢得了海外很多公司和开发者的认可,比如Square的Jake大神一直在推Kotlin。Kotlin在国外至少有将近2年的应用生产环境的实践(非JetBrains内部实践应用)。在移动开发中,相比iOS程序员,Android程序员总是很幸运,因为我们有很多优秀好用的工具(Android Studio等),选用Kotlin,则是Google 为开发者提供高效的开发工具的一贯作风。

BZdDUa9a6a

先来晒一晒Kotlin的几大特点:
Kotlin是静态类型编程语言,用于现代多平台应用,100%可与Java™和Android™互操作 [java] view plain copy

Kotlin是非常简介的编程语言

Create a POJO with getters, setters, equals(), hashCode(), toString() and copy() in a single line:

data class Customer(val name: String, val email: String, val company: String)
Or filter a list using a lambda expression:

val positiveNumbers = list.filter { it > 0 }
Want a singleton? Create an object:

object ThisIsASingleton {
val companyName: String = "JetBrains"
}

[java] view plain copy

Kotlin 很安全

Get rid of those pesky NullPointerExceptions, you know, The Billion Dollar Mistake

var output: String
output = null // Compilation error
Kotlin protects you from mistakenly operating on nullable types

val name: String? = null // Nullable type
println(name.length()) // Compilation error
And if you check a type is right, the compiler will auto-cast it for you

fun calculateTotal(obj: Any) {
if (obj is Invoice)
obj.calculateTotal()
}

[java] view plain copy

方便使用 兼容JVM上现有library

Use any existing library on the JVM, as there’s 100% compatibility, including SAM support.

import io.reactivex.Flowable
import io.reactivex.schedulers.Schedulers

Flowable
.fromCallable {
Thread.sleep(1000) // imitate expensive computation
"Done"
}
.subscribeOn(Schedulers.io())
.observeOn(Schedulers.single())
.subscribe(::println, Throwable::printStackTrace)
Target either the JVM or JavaScript. Write code in Kotlin and decide where you want to deploy to

import kotlin.browser.window

fun onLoad() {
window.document.body!!.innerHTML += "
Hello, Kotlin!"
}

几篇社区的博文帮助大家更好的了解kotlin

-hello Kotlin

-用Kotlin写Android程序

-使用Kotlin&Anko,扔掉XML开发Android应用

那么问题来了

你是否已经开始使用准备使用Kotlin?

你觉得Kotlin与JAVA之间的区别有哪些,优势or缺点?

你觉得Kotlin会取代JAVA吗?

原文链接

本文转载自:

大大梁
粉丝 0
博文 225
码字总数 0
作品 0
私信 提问
JVM 语言的兴衰史

不管什么时候,都会有一些预测 Java 覆灭的帖子出现。但有趣的是,这些帖子从不写预言成真的日期。说实话,它们说的都算正确,因为这是每一种语言的最终命运都是:覆灭湮没,准确地说是越来越...

oschina
2017/08/24
1K
6
为什么我会弃Java,选择了Kotlin——专访《Java编程思想》作者 Bruce Eckel

点击上方“CSDN”,选择“置顶公众号” 关键时刻,第一时间送达! 这是前不久我们发布《Kotlin或将取代Java》一文之后,来自网友们的部分声音。 可以看到:作为编程语言界的老大——Java仍然...

csdnnews
2018/05/30
0
0
Kotlin 空降“上位”已满月,有对你带来变化吗?

自从5.18 Google IO 大会到现在,Kotlin 已实打实的“上位”一个月。不知道你自己或者身边有没有人开始学习和使用 Kotlin 呢? Kotlin 有对你带来什么变化吗?欢迎回复讨论。 Kotlin 的空降似...

王练
2017/06/19
4.1K
33
热闹背后的冷静思考:Kotlin 和 Checked Exception

本文转载自当然我在扯淡,原文《Kotlin 和 Checked Exception》,作者:王垠。文章转载已获授权。 最近 JetBrains 的 Kotlin 语言忽然成了热门话题。国内小编们传言说,Kotlin 取代了 Java,...

局长
2017/05/24
5K
90
Kotlin 能取代 Java 吗?

作者 | Paresh Sagar 译者 | 安翔 责编 | 伍杏玲 出品 | CSDN(ID:CSDNNews) 当谈到 Android 应用程序开发时,哪种编程语言会首先出现在你的脑海呢?我猜你会立即想到 Java,毕竟大多数的 ...

CSDN资讯
01/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

SpringBoot设置项目访问路径

今天配置Springboot项目访问路径遇到一个小坑,这里做一个记录。针对Springboot2.0以下版本和以上版本的配置方式是不同的。这里针对yml配置文件做记录,properties文件配置方式相同。 Spring...

王子城
29分钟前
5
0
Redis 序列化方式StringRedisSerializer、FastJsonRedisSerializer和KryoRedisSerializer

当我们的数据存储到Redis的时候,我们的键(key)和值(value)都是通过Spring提供的Serializer序列化到数据库的。RedisTemplate默认使用的是JdkSerializationRedisSerializer,StringRedis...

xiaolyuh
39分钟前
5
0
jquery通过css的color属性实现选取特殊颜色的内容

今天一个朋友问到怎么使用jQuery选取特定颜色的内容,以前没有遇到过这样的需求。首先,很多人可能想到使用jQuery属性选择器来实现,这是不可以的,因为 color 是 css 的属性,而不是 html 的...

前端老手
51分钟前
2
0
python3 网络爬虫开发实战 win10环境下 图形验证码识别需要安装的工具及地址

先下载安装tesseract exe文件 tesseract exe文件安装下载地址:https://digi.bib.uni-mannheim.de/tesseract/ win下直接下载双击安装即可,注意路径,下面用于配置环境变量。 参考网址: ht...

S三少S
今天
10
0
PHP学习记录整理

PHP 输出文本的基础指令:echo 和 print。 echo和print的区别 echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用) echo 输出一个或者多个字符串。 print ...

半缘修道半缘君丶
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部