java - 当方法不返回选项时如何处理空值?

标签 java scala null

在 Scala 中处理以下空值情况的正确方法是什么? getField()generateMetric()方法返回一个字符串。如果它返回一个选项,我可能可以在这里应用模式匹配。

Java我通常这样做:

String metric_1 = null;
String metric_2 = null;

if (myObject.getField() != null) {
    metric_1 = myObject.getField();
} else {
    metric_2 = generateMetric();
}

最佳答案

可以将 null 值封装在 Option 中,例如:

val isNull = null
val isNotNull = "hello"

println(Option(isNull)) // None

println(Option(isNotNull)) // Some(hello)

查看这篇文章:NO NULL VALUES

您的示例可能如下所示:

val metric = 
  Option(myObject.getField()).getOrElse(generateMetric())
  1. 封装可以返回null的方法。
  2. 如果有值则返回该值,如果为 null 则生成指标。

关于java - 当方法不返回选项时如何处理空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59142546/

相关文章:

java - 有没有办法在 REST 中接受带有 & 符号的 QueryParam

java - Facebook SDK - 登录后没有任何反应

scala - 隐式转换和 null

java - 将 'null' 类型转换为 JAVA 中的任何引用类型有什么用?

javascript - TypeScript null 检查不注意 array.length 检查

ruby - 将字符串日期行转换为 Date 对象数组

java - 适用于所有服务器请求类型的单个 servlet 与多个 servlet——每种请求类型对应一个

java - This 关键字与 scala 和匿名函数/类一起使用

scala - 如何在 Slick 中参数化表名

scala - 如何对元组列表求和