Kotlin 的?和!!
Kotlin有针对Java的NullPointerException
管理,kotlin开发中也会有很多?
和!!
出现,对于初学者来说肯定很糊涂。
- ? 表示当前对象可以为空,即可以
= null
- !! 表示当前对象不为空的情况下执行
/*** name 可以为空,即name = null;* 因为name有为空的可能性,所以people使用name时,需要在name后加!!,* 代表name不为空时执行代码,如果为空,仍会报错;*/var name: String? = ""var people: String = name!!//一个小知识点,当列表为空时赋值0val nameList:MutableList<String>? = nullval size = nameList?.size ?: 0
参考文章:https://www.jianshu.com/p/51b2e5aa3dd8
Kotlin 的?和!!相关推荐
- springboot实现SSE服务端主动向客户端推送数据,java服务端向客户端推送数据,kotlin模拟客户端向服务端推送数据
SSE服务端推送 服务器向浏览器推送信息,除了 WebSocket,还有一种方法:Server-Sent Events(以下简称 SSE).本文介绍它的用法. 在很多业务场景中,会涉及到服务端向客户端 ...
- 在kotlin companion object中读取Bean,注入Bean对象
在kotlin companion object中读取Bean,注入Bean对象 在使用kotlin时,或多或少地会使用到一些公共组件,如 http. mongo. redis相关的组件. 使用组 ...
- 在kotlin companion object中读取spring boot配置文件,静态类使用@Value注解配置
在kotlin companion object中读取配置文件 静态类使用@Value注解配置 class Config {@Value("\${name}")fun setNam ...
- kotlin中继承父属性使用构造方法
kotlin中继承父属性使用构造方法 1. 定义父类,给它两个属性: abstract class AbstractResponseMessage {private var success = tru ...
- Java | kotlin 手动注入bean,解决lateinit property loginService has not been initialized异常
kotlin.UninitializedPropertyAccessException: lateinit property loginService has not been initialized ...
- SpringBoot项目使用nacos,kotlin使用nacos,java项目使用nacos,gradle项目使用nacos,maven项目使用nacos
SpringBoot项目使用nacos kotlin demo见Gitte 一.引入依赖 提示:这里推荐使用2.2.3版本,springboot与nacos的依赖需要版本相同,否则会报错. maven ...
- OpenAPI使用(swagger3),Kotlin使用swagger3,Java使用swagger3,gradle、Maven使用swagger3
OpenAPI使用(swagger3) demo见Gitte 一.背景及名词解释 OpenAPI是规范的正式名称.规范的开发工作于2015年启动,当时SmartBear(负责Swagger工具开发的公 ...
- Gradle 将项目publish到Nexus,Kotlin将项目发布到nexus,springboot项目发布到maven仓库
示例见:Gitte 公仓设置 在项目中添加maven-publish的插件 plugins {kotlin("jvm") version "1.3.72"kot ...
- kotlin Bean加载失败lateinit property has not been initialized
Application run failed org.springframework.beans.factory.UnsatisfiedDependencyException: Error creat ...
- kotlin重写构造方法编译报错:Primary constructor call expected
在kotlin中使用construct关键字定义构造方法,如果类定义时已经有构造方法(类名后带括号),需要添加构造方法时,需要使用以下写法: class User(var name,var age){ ...
最新文章
- 史上最良心程序员,在代码注释里,告诉这家公司有多坑
- Java享元模式之字符串享元
- 制作WEB在线编辑器-插入HTML标签
- 手环是如何测试人体健康数据?
- Docker制作镜像、启动容器、查看版本、修改源、安装工具
- Perl 数字与字符串运算符之区别
- C#.NET验证码智能识别学习笔记---02-C#.Net中Using关键字的用法
- [Web 前端] SuperAgent中文使用文档
- windows 的一些快捷键
- 软件类配置(四)【ubuntu16.04安装pycahrm】
- PrestaShop加速11招立刻加速PrestaShop外贸电子商务网站无额外插件
- python class类_学习python中的class类
- 安装软件出现提示:无法将数值写入键
- thingworx- 用户组
- Wrong JPEG library version :library is 80,caller expects 62
- 入院前、入产房前、分娩前物品准备
- Office365 Word 打开某个文件就自动卡死关闭
- 路由器To路由器:双路由器连接设置
- php主要技术指标,液晶显示器的主要技术指标不包括什么
- 区块链难理解?这里有一篇初学者指南
热门文章
- 体外克隆技术的研究报告
- 手机摄影基础教程 附带素材
- 北京千丁门禁卡复制 芯片是Nt芯片
- 软件和 IT 服务成美国收入最高行业;黑客组织 OurMine 宣称攻陷维基解密网站
- 《管理学》计划及其制订-学习笔记
- 谷粒商城12——购物车模块、消息队列RabbitMQ
- 为陈天桥私有化盛大叫好
- 威纶通触摸屏MODBUS_RTU远程IO
- matlab中Cci,MATLAB量化交易策略之 CCI择时
- Python matplotlib库绘图时设置标题 (label)、坐标轴 (axis) 和标注 (legend)的字体及大小