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
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
