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 的?和!!相关推荐

  1. springboot实现SSE服务端主动向客户端推送数据,java服务端向客户端推送数据,kotlin模拟客户端向服务端推送数据

    SSE服务端推送 服务器向浏览器推送信息,除了 WebSocket,还有一种方法:Server-Sent Events(以下简称 SSE).本文介绍它的用法. 在很多业务场景中,会涉及到服务端向客户端 ...

  2. 在kotlin companion object中读取Bean,注入Bean对象

    在kotlin companion object中读取Bean,注入Bean对象 在使用kotlin时,或多或少地会使用到一些公共组件,如 http. mongo. redis相关的组件.   使用组 ...

  3. 在kotlin companion object中读取spring boot配置文件,静态类使用@Value注解配置

    在kotlin companion object中读取配置文件 静态类使用@Value注解配置 class Config {@Value("\${name}")fun setNam ...

  4. kotlin中继承父属性使用构造方法

    kotlin中继承父属性使用构造方法 1. 定义父类,给它两个属性: abstract class AbstractResponseMessage {private var success = tru ...

  5. Java | kotlin 手动注入bean,解决lateinit property loginService has not been initialized异常

    kotlin.UninitializedPropertyAccessException: lateinit property loginService has not been initialized ...

  6. SpringBoot项目使用nacos,kotlin使用nacos,java项目使用nacos,gradle项目使用nacos,maven项目使用nacos

    SpringBoot项目使用nacos kotlin demo见Gitte 一.引入依赖 提示:这里推荐使用2.2.3版本,springboot与nacos的依赖需要版本相同,否则会报错. maven ...

  7. OpenAPI使用(swagger3),Kotlin使用swagger3,Java使用swagger3,gradle、Maven使用swagger3

    OpenAPI使用(swagger3) demo见Gitte 一.背景及名词解释 OpenAPI是规范的正式名称.规范的开发工作于2015年启动,当时SmartBear(负责Swagger工具开发的公 ...

  8. Gradle 将项目publish到Nexus,Kotlin将项目发布到nexus,springboot项目发布到maven仓库

    示例见:Gitte 公仓设置 在项目中添加maven-publish的插件 plugins {kotlin("jvm") version "1.3.72"kot ...

  9. kotlin Bean加载失败lateinit property has not been initialized

    Application run failed org.springframework.beans.factory.UnsatisfiedDependencyException: Error creat ...

  10. kotlin重写构造方法编译报错:Primary constructor call expected

    在kotlin中使用construct关键字定义构造方法,如果类定义时已经有构造方法(类名后带括号),需要添加构造方法时,需要使用以下写法: class User(var name,var age){ ...

最新文章

  1. 史上最良心程序员,在代码注释里,告诉这家公司有多坑
  2. Java享元模式之字符串享元
  3. 制作WEB在线编辑器-插入HTML标签
  4. 手环是如何测试人体健康数据?
  5. Docker制作镜像、启动容器、查看版本、修改源、安装工具
  6. Perl 数字与字符串运算符之区别
  7. C#.NET验证码智能识别学习笔记---02-C#.Net中Using关键字的用法
  8. [Web 前端] SuperAgent中文使用文档
  9. windows 的一些快捷键
  10. 软件类配置(四)【ubuntu16.04安装pycahrm】
  11. PrestaShop加速11招立刻加速PrestaShop外贸电子商务网站无额外插件
  12. python class类_学习python中的class类
  13. 安装软件出现提示:无法将数值写入键
  14. thingworx- 用户组
  15. Wrong JPEG library version :library is 80,caller expects 62
  16. 入院前、入产房前、分娩前物品准备
  17. Office365 Word 打开某个文件就自动卡死关闭
  18. 路由器To路由器:双路由器连接设置
  19. php主要技术指标,液晶显示器的主要技术指标不包括什么
  20. 区块链难理解?这里有一篇初学者指南

热门文章

  1. 体外克隆技术的研究报告
  2. 手机摄影基础教程 附带素材
  3. 北京千丁门禁卡复制 芯片是Nt芯片
  4. 软件和 IT 服务成美国收入最高行业;黑客组织 OurMine 宣称攻陷维基解密网站
  5. 《管理学》计划及其制订-学习笔记
  6. 谷粒商城12——购物车模块、消息队列RabbitMQ
  7. 为陈天桥私有化盛大叫好
  8. 威纶通触摸屏MODBUS_RTU远程IO
  9. matlab中Cci,MATLAB量化交易策略之 CCI择时
  10. Python matplotlib库绘图时设置标题 (label)、坐标轴 (axis) 和标注 (legend)的字体及大小