加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 如何测试一个值为AnyVal?

发布时间:2020-12-16 09:15:10 所属栏目:安全 来源:网络整理
导读:试过这个: scala 2.isInstanceOf[AnyVal]console:8: error: type AnyVal cannot be used in a type pattern or isInstanceOf test 2.isInstanceOf[AnyVal] ^ 和这个: scala 12312 match { | case _: AnyVal = true | case _ = false | }console:9: error:
试过这个:

scala> 2.isInstanceOf[AnyVal]
<console>:8: error: type AnyVal cannot be used in a type pattern or isInstanceOf test
              2.isInstanceOf[AnyVal]
                            ^

和这个:

scala> 12312 match {
     | case _: AnyVal => true
     | case _ => false
     | }
<console>:9: error: type AnyVal cannot be used in a type pattern or isInstanceOf test
              case _: AnyVal => true
                      ^

信息非常翔实.我得到我不能使用它,但我该怎么办?

解决方法

我假设你想测试某些东西是一个原始值:

def testAnyVal[T](x: T)(implicit evidence: T <:< AnyVal = null) = evidence != null

println(testAnyVal(1))                    // true
println(testAnyVal("Hallo"))              // false
println(testAnyVal(true))                 // true
println(testAnyVal(Boolean.box(true)))    // false

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读