当前位置: 首页 > 知识库问答 >
问题:

如何在Kotlin中初始化引用变量

微生嘉祥
2023-03-14

在Java中,可以用null初始化引用变量,例如,字符串变量可以像下面这样初始化:

String str = null;
var str: String = ...

共有1个答案

魏烨熠
2023-03-14

Kotlin的重点不是从不使用null(和可空类型),而是安全地使用它,使用方便的语言构造,而不是害怕它。虽然尽可能多地使用非空类型是理想的,但您不必总是避免它们,这就是为什么存在各种null处理构造(安全调用、Elvis运算符等)。

如果你可以延迟创建你的变量,直到你有东西要分配给它,这是一个解决方案。如果不能,那么将其标记为nullable并为其赋值null是非常好的,因为编译器将保护您不使用它做危险的事情。

 类似资料:
  • 在Java中,可以初始化数组,例如: Kotlin的数组初始化是什么样子的?

  • 我试图初始化一个< code>constexpr引用,但没有成功。我试过了 但我收到了编译时错误 错误:constexpr变量“z”必须由常量表达式初始化 删除< code>const会导致 错误:将对类型“int”的引用绑定到类型“const int”的值会删除限定符 尽管我感觉< code>constexpr自动暗示变量声明的< code>const。 所以我的问题是: < Li > < co

  • 在Java中,可以初始化数组,例如: Kotlin的数组初始化是什么样子的?

  • 因为我是android开发新手,所以我不知道如何在使用lateinit变量之前初始化它。在此之前,我尝试过执行,就像这个github中提到的,但没有成功。所以现在我希望问题出在初始化textInput变量上。

  • 问题内容: 我有以下代码: 这给了我以下错误: 解析错误:语法错误,在第19行的/home/user/Sites/site/registration/inc/registration.class.inc中出现意外的’(’,期待’)’ 所以,我想我做错了什么…但是如果不那样做怎么办?如果我用常规字符串更改mktime内容,它将起作用。所以,我知道我能做到这一点 的那种 像.. 有人有指针吗? 问题答

  • 问题内容: 我想知道静态变量(在类中)何时出现在图片中(初始化)?是在实例构造函数首次调用之后还是在类加载之后?什么时候加载类? 问题答案: 哦,那很复杂。这取决于是否设置了标志,而标志(在C#中)又取决于是否有静态构造函数。更糟的是;在.NET 4中, 我相信 行为发生了变化,使其比以前更加“懒惰”。 坦白说,我不会在此处编写任何特定行为的代码。简单:只要您使用常规代码访问静态字段,它们就会在尝