kotlin基础 空值检查

NULL检查机制

Kotlin的空安全设计对于声明可为空的参数,在使用时要进行空判断处理,有两种处理方式,字段后加!!像Java一样抛出空异常,另一种字段后加?可不做处理返回值为 null或配合?:做空判断处理

//类型后面加?表示可为空
var age: String? = "23"
//抛出空指针异常
val ages = age!!.toInt()
//不做处理返回 null
val ages1 = age?.toInt()
//age为空返回-1
val ages2 = age?.toInt() ?: -1

当一个引用可能为 null 值时, 对应的类型声明必须明确地标记为可为 null。

当 str 中的字符串内容不是一个整数时, 返回 null:

fun parseInt(str: String): Int? {
  // ...
}

以下实例演示如何使用一个返回值可为 null 的函数:

fun main(args: Array<String>) {
  if (args.size < 2) {
    print("Two integers expected")
    return
  }
  val x = parseInt(args[0])
  val y = parseInt(args[1])
  // 直接使用 `x * y` 会导致错误, 因为它们可能为 null.
  if (x != null && y != null) {
    // 在进行过 null 值检查之后, x 和 y 的类型会被自动转换为非 null 变量
    print(x * y)
  }
}

原文地址:https://www.cnblogs.com/superxuezhazha/p/12028320.html

时间: 2024-11-03 23:16:22

kotlin基础 空值检查的相关文章

[ jquery 过滤器 hasClass(class) ] 此方法用于在选择器的基础之上检查当前的元素是否含有某个特定的类,如果有,则返回true

此方法用于在选择器的基础之上检查当前的元素是否含有某个特定的类,如果有,则返回true 实例: <!DOCTYPE html> <html lang='zh-cn'> <head> <title>Insert you title</title> <meta http-equiv='description' content='this is my page'> <meta http-equiv='keywords' content

Kotlin基础

1.函数也是对象,可以作为参数和返回值 2.使用驼峰命名,尽量避免下划线 3.public函数应当有说明文档 4.lambda中花括号内前后都应该有空格 5.空值安全检查  var s: String? = null;当一个变量允许为空值时,必须使用?来声明 6.当?:左边表达式不为空时,返回表达式的值,否则执行?:右边表达式的值 7.as?  安全类型转换,转换失败会返回null 8.lambda表达式相当于一个函数     fun add(x :Int,y :Int) : Int = x +

Kotlin基础(五)Kotlin的类型系统

Kotlin的类型系统 一.可空类型 1 //s为null的话编译器会报错,没问号不能为空 2 fun strLen(s : String)=s.length 3 //如果允许s为空可: 4 fun strLen2(s : String?) : Int{ 5 if (s!=null) return s.length 6 else return 0 7 } 8 /* 9 注意可空类型和不可空类型只是在编译期做的 10 检查不同,runtime这两者并无区别 11 */ 12 13 14 //"?.

Kotlin基础-类型检查和转换

/** 检查:对一个变量的类型进行辨别* 转换:把变量转换成其他类型使用* */fun main(args: Array<String>) { val a=5 val b=6 val c=if (a>b)"大于" else a-b //类型判断:is if (c is String) println(c.length) if (c !is String ) println(" 整数:$c") //Kotlin编辑器大多数时候智能转换 if (c i

Kotlin基础语法

查看我的全部开源项目[开源实验室] 欢迎加入我的QQ群:[257053751],本博客客户端下载[请点击] 摘要 如果你真的希望深入的了解kotlin语言,可以查看英文版Kotlin语言文档,或者我的kotlin语言文档中文翻译项目KotlinDoc-cn:https://github.com/kymjs/KotlinDoc-cn 本文原创,转载请注明地址:http://blog.kymjs.com/ 正文 在阅读以下内容前,你可能需要先了解一些Kotlin语言的特性:在语句的行尾可以不用加分号

Kotlin基础(一)Kotlin快速入门

Kotlin快速入门 一.函数 1 /* 2 * 1.函数可以定义在文件最外层,不需要把它放在类中 3 * 2.可以省略结尾分号 4 * */ 5 fun main(args: Array<String>) { 6 println(max2(1,2)) 7 println(max(3,5)) 8 } 9 10 fun max(a: Int, b: Int): Int{ 11 return if (a>b) a else b 12 } 13 14 /* 15 * 与Java不同,Kotli

Kotlin基础(四)Lambda编程

Lambda编程 一.Lambda表达式和成员引用 一)Lambda表达式语法 1 //注意与Java8中的区别 2 val sum={ x:Int,y:Int -> x+y } 3 println(sum(5,6)) 4 run { print(33) } 1 data class Person(val name:String,val age:Int) 2 3 fun main(args: Array<String>) { 4 val persons= listOf<Person

第二章(Kotlin基础)

基本要素:函数和变量 函数 函数定义规则 函数通过关键字?fun?用来声明一个函数 参数的类型与函数返回类型写在它的名称后面,这和变量声明一样 函数可以定义在文件的最外层,不一定要把它放在类中 示例: fun max(a: Int, b: Int): Int { return if (a > b) a else b } >>> println(max(1,2)) //打印结果:2 函数的声明以关键字 fun?开始,函数名称紧随其后:上面示例中函数名称是max,接下来是括号括起来的参

PHP 类型判断和NULL,空值检查

PHP是一种宽松类型的编程语言,在函数中对传入的参数值的“类型”以及”值是否为空或者NULL“进行检查是不可缺少的步骤. 类型检查 从PHP5开始,PHP允许对函数的参数进行类型约束,即可以约束参数的类型为对象,接口,数组(PHP 5.1开始)或者callable(PHP5.4起),但是不可以约束参数类型为标量类型(如int ,string,bool),也不可以约束为Traits类型.如果不约束,默认情况下,参数的类型为mixed,即可以接受所有类型. function test(array $