【发布时间】:2018-03-13 02:10:13
【问题描述】:
我一直在上课并在学习编程时打字,在一些不同的课程中,他们说这就是你声明空变量的方式(如果我记得正确的话,java 和 Kotlin 是“无”不完全相同)。
但我读到或学到的所有东西都说不要这样做。 为什么要这样做,或者是否有合法用途?
REV 1.0 以下
我对这个问题进行了编辑并回滚了一些,因为在深入研究该主题之后,none 的行为与 null 非常相似。
请不要改变我的问题,而是让我了解如何以不同的方式看待它或重新构建或提出更好的问题。
【问题讨论】:
-
原因
if (root == null) { /* do cool stuff */ }. -
null是一种将 nothing 分配给变量的方法。它可以用于默认值或者只是缺少某些东西。显然,如果您处理可能是null的变量总是很危险的,因为它们不引用任何对象。我的意思是,如果你有一个像buyApple()这样的方法,它应该返回一个Apple,如果超市已经关门并且没有苹果,你会怎么做?您可以返回null(在这种特定情况下Optional可能会更好)。您的程序逻辑显然需要处理这种情况。如果你错过了,你会得到例外。