文档章节

Kotlin入门指南(3)

tthwang
 tthwang
发布于 2017/05/25 11:35
字数 158
阅读 23
收藏 0

在Java里,我们常常要进行许多非空判断:

public void fun1 (String str){
    if(str != null) {
        System.out.println("Length = " + str.length());
    }
}

而在Kotlin中,即使不进行这些额外的判断,代码也是健壮的:

// 如果str=null,会打印:Length = null
fun fun1 (str: String?) {
    println("Length = " + str?.length)
}

还有,Java中经常出现的ClassCastException,在Kotlin中,也可以通过安全的类型转换进行避免:

不是Int类型的将输出null

val l2 = listOf("A",1,3,6,8,'c')
l2.forEach { println(it as? Int) }

 

判断类型:

fun getStringLength(obj: Any): Int? {
    if (obj is String)
        return obj.length
    return null
}
fun main(args: Array<String>) {
    println(getStringLength("aaa"))
    println(getStringLength(1))
}

输出

3
null

© 著作权归作者所有

共有 人打赏支持
tthwang
粉丝 1
博文 4
码字总数 963
作品 0
广州
使用Kotlin构建MVVM应用程序—第一部分:入门篇

目录 使用Kotlin构建MVVM应用程序—第一部分:入门篇 使用Kotlin构建MVVM应用程序—第二部分:Retrofit及RxJava 使用Kotlin构建MVVM应用程序—第三部分:Room(敬请期待) 写在前面 使用DataB...

ditclear
2017/11/18
0
0
使用Kotlin构建MVVM应用程序—第一部分:入门篇

简书地址:www.jianshu.com/p/80926d9e6… 目录 使用Kotlin构建MVVM应用程序—第一部分:入门篇 使用Kotlin构建MVVM应用程序—第二部分:Retrofit及RxJava 使用Kotlin构建MVVM应用程序—第三...

ditclear
2017/11/18
0
0
12月中旬值得一读的10本技术新书(Go Web编程、Linux、TensorFlow等)!文末有福利!

12月12日,阿里云云栖社区机构号 联合人邮异步社区为大家带来十本技术书籍(Go Web编程、Linux、TensorFlow等)。以下为书籍详情,文末还有福利哦! 书籍名称:《Go Web编程》 内容简介 本书...

阿里云云栖社区
2017/12/12
0
0
使用Kotlin进行服务器端开发

简介 Kotlin非常适合开发服务器端应用程序,允许编写简明明了的代码,同时保持与现有基于Java的技术栈的完全兼容性和平滑的学习曲线: 表现力:Kotlin的创新语言功能,如支持类型安全的构建器...

Pape
2017/10/24
0
0
欢迎来撩 | 掘金翻译计划

介绍 掘金翻译计划 是一个翻译优质互联网技术文章的社区,文章来源为 掘金 上的英文分享文章。内容覆盖人工智能、Android、iOS、React、前端、后端、产品、设计 等领域,读者为热爱新技术的新...

LeviDing
2017/10/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

OSChina 周三乱弹 —— 我居然在 osc 里追剧

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @舆情风控小组 :分享王菲的单曲《笑忘书》 《笑忘书》- 王菲 手机党少年们想听歌,请使劲儿戳(这里) @艾尔库鲁斯:如果给大家一个选择的机...

小小编辑
40分钟前
57
6
rabbitMq的客户端使用笔记

1、channel声明队列的queueDeclare方法的参数解析 durable: 是否持久化, 队列的声明默认是存放到内存中的,如果rabbitmq重启会丢失,如果想重启之后还存在就要使队列持久化,保存到Erlang自...

DemonsI
48分钟前
0
0
“全新” 编程语言 Julia开箱体验

本文共 851字,阅读大约需要 3分钟 ! 概 述 Julia 是一个 “全新”的高性能动态编程语言,前两天迎来了其 1.0 正式版的重大更新。Julia集 Python、C、R、Ruby 之所长,感觉就像一种脚本语言...

CodeSheep
今天
12
0
软件自动化测试初学者忠告

题外话 测试入门 很多受过高等教育的大学生经常问要不要去报测试培训班来入门测试。 答案是否。 高等教育的合格毕业生要具备自学能力,如果你不具备自学能力,要好好地反省一下,为什么自己受...

python测试开发人工智能安全
今天
5
0
java并发备忘

不安全的“先检查后执行”,代码形式如下: if(条件满足){ //这里容易出现线程安全问题//doSomething}else{//doOther} 读取-修改-写入 原子操作:使用CAS技术,即首先从V中读取...

Funcy1122
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部