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空安全的设计 阅读详情

相关推荐

远程桌面(RDP)共享USB设备全攻略:不止Hyper-V,你的加密狗和CH340串口也能远程用

本文详细介绍了远程桌面(RDP)共享USB设备的完整解决方案,包括加密狗和CH340串口设备的远程使用技巧。通过RemoteFX USB重定向技术,用户可以在远程会话中无缝使用本地USB设备,提升工作效率。文章涵盖企业级配置、典型设备实战案例及高级故障排除方法,是远程工作者的实用指南。

weixin_42522964的博客 334

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

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

Sindyue的博客 6万+

基于STM32的家用新风系统智能控制器 | 保姆式教程 开源可复刻

本项目基于STM32F103C8T6核心控制器,完整实现了家用新风系统智能控制器的全功能开发,覆盖多传感器数据采集、双模式控制、PID调速、异常报警、掉电记忆等核心功能,全程采用保姆式无跳步教学,从硬件选型、接线、CubeMX配置、代码开发、调试排坑全流程拆解,跟着步骤一步步操作,就能顺利完成项目复刻

ZhongWeiXiang9的博客 466

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

国产FPGA开发实战:紫光同创编程软件中的约束文件详解与常见问题

本文详细解析了紫光同创FPGA编程软件中约束文件的关键配置技巧与常见问题。通过基础架构解析、时钟约束实践、物理约束调控及典型问题排查指南,帮助开发者高效掌握国产FPGA开发中的约束文件应用,提升开发效率与设计稳定性。

gin88的博客 910

【漏洞修复】Diffie-Hellman Key Agreement Protocol 资源管理错误漏洞(CVE-2002-20001)

Diffie-Hellman Key Agreement Protocol 存在安全漏洞,远程攻击者可以发送实际上不是公钥的任意数字,并触发服务器端DHE模幂计算。

我的博客 1万+

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

音视频开发基础(1):模拟视频技术简介

模拟视频技术是指用模拟技术对动态影像进行捕捉、记来、处理、存储、传输、复现的技术.模拟视频技术的发明、发展与模拟电视系统的发展密不可分.下面将通过模拟电视系统来介绍模拟视频技术中的基本概念. 首先,人的视觉系统的特征为电视等視稿系铳的发明、发展提供了理论依据.光线通过角膜、腫孔、晶状体的折射光线.透过玻璃体到达视网展.视网膜上分布着光感受器,光感受器在光线的剌激下...

琅嬛福地 1493

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

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

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

大模型——Ollama简明教程

在这篇文章中,我们将了解如何使用 Ollama、如何在 Ollama 中创建自己的模型 以及如何使用 Ollama 构建聊天机器人。这是深入研究 Ollama 的第一部分,以及我所学到的有关本地 LLM 的知识以及如何将它们用于基于推理的应用程序。在这篇文章中,你将了解——

1692

C# WPF上位机开发(利用tcp/ip网络访问plc)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 c# wpf如果是用来开发非标上位机的,那么和plc的通信肯定是少不了的。而且,大部分plc都支持modbus协议,所以这个时候如果有一个库可以帮助我们和plc设备进行modbus通信,那就非常方便的。目前NuGet下关于modbus的函数库还是有一些的,比如EasyModbus。

嵌入式-老费,一个分享专业嵌入式知识的blog 2530

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

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

小孟来码的博客 1万+

【NI Multisim 14.0原理图设计基础——元器件分类】

电阻(RESISTOR):该元器件栏中的电阻都是标称电阻,是根据真实电阻元器件而设计的,其电阻值不能改变。 排阻(RESISTOR PACK):相当于多个电阻并列封装在一个壳内,它们具有相同的阻值。 电位器(POTENTIOMETER):即可调电阻,可以通过键盘字母动态调节电阻,大写表示增加电阻值,小写表示减小电阻值,调节增量可以设置。 电容(CAPACITOR):所有电容都是无极性的,不能改变参数,没有考虑误差,也未考虑耐压大小。 电解电容器(CAP_ELECTROLIT):所有电容都是有极性的,“+”极

RL2698853114的博客 4万+

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

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

qq_48023814的博客 4094

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Kotlin 的?和!!

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

guodashen007的博客 162

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

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

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

奔跑的菜鸡 2826

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

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、付费专栏及课程。

余额充值