zoukankan      html  css  js  c++  java
  • scala Option 里的 orNull orElse getOrElse 区别和使用

    Scala Option

    Scala Option类型用来表示一个值是可选的(有值或无值)

    Option[T] 是一个类型为 T 的可选值的容器:

    • 如果值存在, Option[T] 就是一个 Some[T] 
    • 如果不存在, Option[T] 就是对象 None

    Option.orNull

    参数:没有(当属性用)

    返回:如果Option不为None返回Some的值否则返回null

    例一:返回Some的值

    scala> val v = Some("Hello Option")
    v: Some[String] = Some(Hello Option)
    
    scala> v.orNull
    res38: String = Hello Option

    例二:返回null

    scala> val v = None
    v: None.type = None
    
    scala> v.orNull
    res39: Null = null

    Option.getOrElse(value)

    参数:值

    返回:如果Option不为None返回Some的值否则返回参数的值

    例三:返回Some的值

    scala> val v = Some("Hello Option")
    v: Some[String] = Some(Hello Option)
    
    scala> v.getOrElse("New Value")
    res46: String = Hello Option

    例四:返回参数的值

    scala> val v = None
    v: None.type = None
    
    scala> v.getOrElse("New Value")
    res47: String = New Value

    Option.orElse(Some(value))

    返回Option里的Some或从参数传递进去的Some

    参数:Some

    返回:如果Option不为None返回Some否则返回参数的Some

    例五:返回option的Some

    scala> val v = Some("Hello Option")
    v: Some[String] = Some(Hello Option)
    
    scala> v.orElse(null)
    res43: Option[String] = Some(Hello Option)

    例六:返回参数的Some

    scala> val v = None
    v: None.type = None
    
    scala> v.orElse(Some("New Value"))
    res44: Option[String] = Some(New Value)
  • 相关阅读:
    shell编程基础干货
    HIVE的高级操作
    Linux service,挂载,定时任务等常用服务
    Linux(二)高级文本处理
    Linux基本使用命令
    07-MySQL 架构介绍
    06-Re: 视图&过程&触发器
    05-安装 MySQL5.7
    [04] 继承&聚合&war
    [03] 仓库&生命周期&插件目标
  • 原文地址:https://www.cnblogs.com/keitsi/p/5333473.html
Copyright © 2011-2022 走看看