Kotlin中问号(?)和两个叹号(!!)

Kotlin 常见的符号使用说明 目录标题Kotlin 常用的一些复合符号( '?.' '?:' '!!' 'as?' '?' )1、 [ ? ] ------ 问号2、 [ !! ] ------ 双感叹号 操作符3、 [ ?: ] ------ 感叹号冒号 操作符(Elvis)4、 [ :: ] ------ 双冒号 操作符5、 [ as ] ------ 类型转换运算符6、 [ . . ] ------ 双点号 区间7、 [ -> ] ------ 中横杆大于号 操作符8、 [ =... 阅读详情

先看一段代码

  private var cloth_Rv: RecyclerView ?= null

  cloth_Rv!!.setHasFixedSize(true)

?:表示当前是否对象可以为空

!!: 表示当前对象不为空的情况下执行

都是Kotlin为我们提供的检验空指针的方法

《Kotlin语法基础到实战开发》系列课程视频

http://edu.youkuaiyun.com/course/detail/6409?locationNum=7&fps=1&ref=srch&loc=1

http://edu.youkuaiyun.com/course/play/6409/123752

Kotlin入门-空安全设计 这篇文章我们一起来学习Kotlin空安全的设计 阅读详情

相关推荐

Jetson编译安装pycuda

可使用nvcc --version查看是否有信息输出,若没有,且安装cuda的情况下,需要手动将CUDA 的路径添加到环境变量中。编译生成_pvt_struct.cpython-38-aarch64-linux-gnu.so文件。基于jetson orin nano jetpack512模块上安装pycuda。4、获取pycuda源码(版本根据实际情况获取)2、进入conda环境并安装cuda工具包。9、若未检测出来需要清除并强制编译。7、编译成功后安装pycuda。5、配置编译并设置环境变量。

qq_48175141的博客 972

Kotlin中 ?、!!、?:、:: 、->、== 符号的简单说明

Kotlin 中新增了一些符号,先记录在案,方便理解和学习。 1. ? 和 !! "?"加在变量名后,系统在任何情况不会报它的空指针异常。 "!!"加在变量名后,如果对象为null,那么系统一定会报异常! 上述是两个符号的简单概念,为了更好的解释这两个概念,我们先从java代码入手,如下例: ArrayList<String> myList = null; // 创建一个nu...

Sindyue的博客 6万+

Unity中URP下的菲涅尔效果实现(个性化修改)

在上篇文章中,我们实现了 URP 下的菲涅尔基础效果,我们在这篇文章中,对其进行自定义化修改。

楠溪泽岸的博客 2063

Kotlin 常见符号大全

\t是补全当前字符串长度到8的整数倍,最少1个最多8个空格,补多少要看你\t前字符串长度,比如当前字符串长度10,那么\t后长度是16,也就是补6个空格,如果当前字符串长度12,此时\t后长度是16,补4个空格)注意 null 不能被转换为 String,因为这个类型不是 可为 null 的(nullable),也就是说,如果 y 为 null,上例中的代码将抛出一个异常。: 对象bar 表达式,意思为: 当对象 foo值为 null 时,那么它就会返回后面的对象 bar,否则返回foo。...

fancky58的博客 2174

信道估计之MMSE算法

信道估计之MMSE算法前言MMSE估计的原理总结 前言        前篇分析了LS信道估计算法,也说明了由于没有考虑SNR的影响,所以LS算法不适合在低信噪比的情况下使用。本篇来学习信道估计的另外一种常用的算法–MMSE。        为什么说LS没有考虑噪声大小的情况呢,因为LS算法使用的是实际观测量与估计观测量的误差,这并不能精确的代表估计量的真值与估计值的误

大白的博客 2万+

扩增子分析|溯源分析在R中的复现:跟着Nature系列文章利用FEAST溯源分析包追溯微生物群落的起源

溯源分析由Liat Shenhav等人在2019年发表在Nature Methods杂志,他们开创的一种分析微生物群落组成结构的方法,通过量化不同微生物样本(来源)在目标微生物群落(汇)中的比例或分数识别微生物群落的潜在来源。该方法自发表以来受到微生物学界广泛关注,该论文截止2024年10月9日已经被引289次,是领域内高被引论文,该方法已经成为Nature,cell系列文章高度关注的方法。

weixin_46814750的博客 3436

Kotlin中 ?、!!、?:、:: 、->、== 符号的简单说明

因为这里的a经过装箱后本身已经一个对象,所以赋给a1和a2的时候是把直接把对象a赋给它们,所以此时a1和a2指的是同一个对象(对象a)。既然是同一个对象,那么数值大小和地址肯定都是相等的了(也就是说a,a1和a2这三个对象指向同一处地址,所以其实 a === a1和a === a2也是返回true)。这里跟 Java 中是一样的,在范围是 [-128, 127] 之间的数装箱时并不会创建新的对象,所以这里a1和a2装箱后的对象是同一个,a1 === a2也就返回true了。一个是Int,一个是Int?

weixin_45131680的博客 2827

CMOS Sensor的调试经验分享

我这里要介绍的就是CMOS摄像头的一些调试经验。 首先,要认识CMOS摄像头的结构。我们通常拿到的是集成封装好的模组,一般由三个部分组成:镜头、感应器和图像信号处理器构成。一般情况下,集成好的模组我们只看到外面的镜头、接口和封装壳,这种一般是固定焦距的。有些厂商只提供芯片,需要自己安装镜头,镜头要选择合适大小的镜头,如果没有夜视要求的话,最好选择带有红外滤光的镜头,因为一般的sensor都...

camerall 3764

【Kotlin】变量简介 ( 可空类型 | lateinit | 初始化判定 | 非空类型 | !! 与 ? 修饰符 | ?= ?. ?: 运算符 | 抽象属性变量)

初学 Kotlin , 对变量机制不清楚的同学们 , 看完这篇博客基本就对变量的定义和使用有清晰的认识 ; 1 . 变量定义只有四种情况 : ① 非空变量 / 可空变量 直接赋值非空初始值 ; ② 可空变量使用 ?= null 赋空值 ; ③ 非空变量 ( 引用类型 ) 使用 lateinit 修饰 ; ④ 抽象属性变量不初始化 ; 2 . !! 与 ? 修饰符 : 仅对于 可空类型 有效 , ? 高级不报错 , !! 低级报空指针异常 ;

让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 ) 5113

在 SAP S/4HANA Public Cloud 中做产品扩展:从 Key User 到 ABAP Cloud 与 BTP 的三轨实践指南

摘要:SAP S/4HANA Public Cloud 提供三种扩展方式(key user、developer extensibility 和 side-by-side),遵循 clean core 原则确保升级稳定。key user 扩展适合无代码轻量改良,developer extensibility 用于受控 ABAP 开发,side-by-side 则适用于云原生独立应用。文章通过销售订单优先级字段、退货审批微服务和采购校验等案例,说明不同扩展路径的适用场景与实现方法,帮助开发者在三系统景观中合理选

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 294

智能车图像处理0-图像处理整体框架思路

1.总体框架如上所示,具体代码请查看后续文章。2.因为参与竞赛时间是大二,所以在编程中有许多不规范的地方(如变量的命名),大家见谅。3.原创文章,请勿侵权=-=

taiyuezyh的博客 1万+

Kotlin系列之?、?:、!!、:: 特殊符号

Kotlin系列之?、?:、!!、:: 特殊符号

小孟来码的博客 1万+

【物联网技术】ESP8266 ESP-01/01s 固件下载烧录+STM32串口通信接线

ESP8266 ESP-01/01s 工作模式接线与MQTT固件下载烧录接线

嵌入式阿齐Archie 3万+

Kotlin中的问号(?)和双叹号(!!)

好多人在用kotlin的时候,会看到一些属性或者对象的后边加上?或者!!,到底是什意思呢?当然不知道之前首先百度,那么百度的结果就是: 通俗的来讲就两句话: 1、?加在变量之后,表示可以为空,系统在任何情况不会报它的空指针异常。 2、!!加在变量之后,表示不可为空,如果对象为空,系统就一定会报异常 ...

qq_48023814的博客 4094

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Kotlin 的?和!!

Kotlin有针对Java的NullPointerException管理,kotlin开发中也会有很多?和!!出现 ? 表示当前对象可以为空,即可以= null !! 表示当前对象不为空的情况下执行

guodashen007的博客 162

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Kotlin中问号 ? 和两个叹号 !! 的含义

?表示当前对象是否可以为空,当对象为空时,不会执行后面的代码。通俗说就是运行不会报空指针异常的错误了 !! 通知编译器不做非空校验。如果运行时发现变量为空,就扔出异常 这两个都是Kotlin为我们提供的检验空指针的方法 ...

奔跑的菜鸡 2826

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Kotlin 3. Kotlin 特殊符号的用法:双感叹号!!,问号?,双冒号::

这里介绍 Kotlin 特殊符号的用法,包括:双感叹号!!,问号?,双冒号::。

破浪会有时的博客 8408

Kotlin中 各符号的含义 ?

Kotlin中 ?、!!、?:、:: 、->符号的含义 Kotlin 中新增了一些符号,先记录在案,方便理解和学习。 1. ? 和 !! "?"加在变量名后,系统在任何情况不会报它的空指针异常。 "!!"加在变量名后,如果对象为null,那么系统一定会报异常! 上述是两个符号的简单概念,为了更好的解释这两个概念,我们先从java代码入手,如下例: ArrayList<String> myList = null; // 创建一个null的队列 Log.d("TAG",..

冯旭的博客 1070

Kotlin基本语法 问好(?)与两个叹号(!!)

?            表示当前对象是可以为空!!        表示当前对象不为空的空的情况下执行在变量类型后面加上问号(?),表示该变量是可空变量var name:String?="xxxx"如果str不能转为Int类型,则返回nullfun parseInt(str:String):Int?{    //转换代码}str?.length//如果str非空,就返回b.length,否则返回n...

qianchedu的博客 5502

Android——从JAVA到Kotlin(Kotlin速成,讲讲我的经验)

最近一段时间转移到了新的项目组,而这个项目接受的时候让我瞬间懵逼,因为所有都是使用kotlin来写的,为了短时间内使用Kotlin(其实只要有java基础kotlin很简单),我大概花了一周多的时间开始得心应手,下面讲讲我的经验 1,基本语法: Kotlin的基本语法糖和Java还是有很多不同的地方的,我挑几个比较重要的来说(以下均为自己的理解,如有不对的地方欢迎指正): var和val k...

qq_39636109的博客 916

Kotlin 开发Android app(六):Kotlin 中的空判断 问号和感叹号

如果有人对程序的崩溃原因做下统计的话,那么由于对象为空,但是又访问了对象的某个属性而导致的崩溃,也许会是程序崩溃的第一大原因了。比如我们在使用字符串的时候,变量字符串为空的时候,我们去访问了这个字符串变量的长度,结果就导致了程序的崩溃。这样看似非常的严谨,其实非常的冗长,很多代码都是不必要的,而且为了提高程序的稳定性,程序到处都是这用判断。归根到还是,所有的编译器是没有办法检查出运行时对象是否为空的。

haleycat的博客 1481

kotlin 中? 和 !!作用

?加在变量后面,表示该变量如果为null时,不会执行该变量后面的内容,也不会抛出空指针异常,俗称空安全。如果不为null,会正常执行该变量后面的内容。 !!加在变量后面,表示该变量如果为null时,会抛出空指针异常,像java语法一样空指针不安全;如果不为null,才会正常执行该变量后面的内容。 ...

lixueqiang001的博客 848

kotlin用法总结(遇到不会的语法才记录)

kotlin用法总结(遇到不会的语法才记录)?的用法作用域编程用法let的使用 ?的用法 ?表示是否可以为空 比如定义变量 val a:Int = null //报错 val a:Int? = null //正确 如果值出现空后,需要采取一些行动,可以这么写 val name = a?:return // 这个表示将a的值赋值给name,如果a为空,直接退出函数 作用域编程用法 let的使用 我也不太清楚这是个啥,直接上实例了,这种作用域方法主要是为了简化代码。 假如我有这样一个需求,就是新建一个对象,

Hydralisk2333的博客 335

kotilin判空

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

weixin_43841938的博客 390

Kotlin入门(8)空值的判断与处理

上一篇文章介绍了如何对循环语句进行操作,末尾还演示了发现空串时直接继续下一循环,只是在初始化字符串数组时使用了“val poem2Array:Array<String?> = ***”,该表达式不免令人疑惑,为何这里要在String后面加个问号?由此,本文就Kotlin如何判断和处理空值,再做进一步的深入探讨。 以往的开发工作之中,少不了要跟各种异常作斗争,常见的异常种类包括空指针异常NullPointerException、数组越界异常IndexOutOfBoundsException、类型

az44yao的专栏 825

kotlin-基础-?&&!!

? 和 !!??.?:?.let!! ? 修饰类型 ? 修饰类型的时候,一般放在参数或者返回值处,代表这个参数可以为null或者这个返回值可以为null。 对应的是@Nullable注解。如果没有?修饰,对应的是@NonNull注解。 修饰对象 一般修饰类型被?修饰了的对象,也就是类型为可空类型的对象,加?类似于Java中用对象≠null包了一层 ?. 如果不为null,才执行我们后面调用的方法,如果为null,则不执行。 ?: 如果不为null,返回这个对象,如果为null,则返回冒号后面的内容。 ?.l

qq_43775976的博客 301
上一篇: Kotlin系列课程——关键字
下一篇: Kotlin中找不到kotlinx解决方法
Android_gjw
博客等级 码龄11年 9粉丝 89原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值