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)
  • 相关阅读:
    什么是枚举?有什么作用?有什么好处?
    java获取某个范围内的一个随机数
    java中普通代码块,构造代码块,静态代码块的区别及代码示例
    Oracle数据库迁移
    linux下修改文件权限
    <%@ include file="">和<jsp:include file="">区别
    JAVA常见异常解析
    jdk环境变量配置
    jstl中fmt标签详解
    jsp脚本元素
  • 原文地址:https://www.cnblogs.com/keitsi/p/5333473.html
Copyright © 2011-2022 走看看