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

在Kotlin中nullable有什么用[副本]

方宁
2023-03-14
fun hello(name: String)
hello(bob!!) // bob is a nullable string

如果bob为null,则上面的代码将抛出KotlinNullPointerException。所以我得包支票。

if(bob != null) {
    hello(bob!!)
}

那么在这种情况下,什么是最佳实践呢?nullable有什么用?

共有1个答案

卢骏俊
2023-03-14

这是一个问题,您的代码业务逻辑来决定。

通常您会希望使用“!!”运算符,以防100%确定bob不为空。在这种情况下‘!!’是一种干净而不冗长的方式来忽略'Bob'为null的选项。

如果bob有可能为null,则使用If/else;如果是业务错误,则建议抛出适当的业务异常或以处理项目中错误的通常方式处理它。

 类似资料:
  • 我看到一些教程建议在Kotlin中使用val而不是var。我相信val在Java中就像常量,对吗?那么,如果建议使用它而不是var,我们如何更改它的值? 更新:例如:为什么我要使用val而不是var声明类成员(变量或字段)?而在Java中,它就像:

  • 我想了解这两种说法在更深层次上的区别是什么。 即使我能够从其他类中访问这些变量,并且对我来说两者的工作方式相同,但是< code>get()又有什么不同呢?

  • 有人能解释一下CSS中“~”符号的用法吗? 我举了一个例子 我在这里没有得到~符号的用法。请帮帮我。

  • 在试图修复另一个人代码中的bug时,我发现了这一行:

  • 我有一个关于注释在Java中的用法的问题。 根据我所读到的内容,设置可能返回空值的方法是一个很好的实践。这样,如果使用,IDE可以帮助检测一些空指针异常错误,或者建议删除不必要的空指针异常检查。 到目前为止还不错,但是对于方法参数使用怎么样?这是一个好的实践吗?还是代码会变得更加冗长(如果与一起使用),而且可能会失去好处,因为您并不总是知道将向函数调用传递什么参数?另外,您对在setter方法中使