Scala Map映射的get方法注意

24 篇文章 0 订阅

先看一下Map的get方法定义:

  def get(key: A): Option[B]

  /** Creates a new iterator over all key/value pairs of this map
   *
   *  @return the new iterator
   */

返回值是一个Option[B]

查阅资料发现:

1.映射.get(键)这样的调用返回一个Option对象,要么是Some(键对应的值),要么是None,Option对象有get函数,直接调用即可获取原来Map中key所对应的value

来自:https://blog.51cto.com/xpleaf/2105020

2.Scala Option[T]是由给定类型的零或一个元素的一种容器。Option[T]可以是 Some [T]或None对象,它代表缺少的值。 例如,如果已找到与给定键对应的值,则Scala的Map的get方法会生成Some(value),如果在Map中未定义给定的键,则将返回None。
Option类型在Scala程序中经常使用,可以将其与Java中可用的null值进行比较,表示null值。 例如,java.util.HashMap的get方法返回存储在HashMap中的值,如果没有找到值,则返回null。

来自:https://www.yiibai.com/scala/scala_options.html

经过自己的测试:

fra2dbMap += (s"tem_db_0"->"data1~data2")

Map(tem_db_0 -> data1~data2)

val tmp_dbValue = fra2dbMap.get(tem_db_0)
println(tmp_dbValue+"________________________"+tmp_dbValue.getClass)
结果
Some(data1~data2)________________________class scala.Some

解决办法:
再加一个get
参考:https://blog.csdn.net/xianpanjia4616/article/details/80947616
如:fra2dbMap.get(key).get

fra2dbMap.get(key).get

println(tmp_dbValue+"________________________"+tmp_dbValue.getClass)
结果:
data1~data2________________________class java.lang.String

或者直接:
fra2dbMap(key)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值