scala.Some无法强制转换为java.lang.String
发布时间:2020-12-16 19:22:32 所属栏目:安全 来源:网络整理
导读:在这个应用程序中,我收到此错误: scala.Some cannot be cast to java.lang.String 在尝试这个时: x.email.asInstanceOf[String] x.email是一个选项[String] 编辑:我知道我在这里处理不同的类型,我只是想知道是否有更简洁的方法什么都不做,然后一个 match
在这个应用程序中,我收到此错误:
scala.Some cannot be cast to java.lang.String 在尝试这个时: x.email.asInstanceOf[String] x.email是一个选项[String] 编辑:我知道我在这里处理不同的类型,我只是想知道是否有更简洁的方法什么都不做,然后一个 match { case....} 序列.因为我将x.email转换为String以用于JSON目的,所以JSON对象将处理空字段,并且我没有明确地处理它.很抱歉不清楚!! 解决方法
嗯,从错误和类型中可以清楚地看出x.email不是String …
首先,决定如何处理None(Option [String]类型的有效选项).然后,您有许多选项,包括但不限于: x.email match { case None => ... case Some(value) => println(value) // value is of type String } 或者,看看类Option上的get和getOrElse方法. 如果要将具有可能空值的String的选项“降级”,请使用 x.email.orNull // calls getOrElse(null) 最后,如果你只是不关心None情况(并且想要忽略它),那么只需使用一个简单的“for comprehension”,它将在“无”情况下“跳过”正文: for (value <- x.email) { // value is of type String } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |