use*_*007 13 scala
Scala中的BoxedUnit和Unit有什么区别?它们什么时候用作函数的返回类型?他们与REF的关系是什么?这是我在处理Unit时遇到的类型不匹配错误.
错误:java.lang.AssertionError:断言失败:无法从单元hello.scala中的UNIT转换为REF(类BoxedUnit) - 源码//Users/shiyu/Scala/FinalDataFlow/src/print/hello.scala,line- 347,偏移量= 13999
sjr*_*jrd 12
Unit是唯一值的类型(),发音为"unit".
Unit
()
BoxedUnit是JVM上Scala 的实现细节,用于()在进入泛型上下文时进行编码,或以其他方式分配给Any.通常情况下,您不应该BoxedUnit首先听到,虽然它确实泄漏到某些用户级功能.例如((): Any).getClass().getName() == "scala.runtime.BoxedUnit".
BoxedUnit
Any
((): Any).getClass().getName() == "scala.runtime.BoxedUnit"
也就是说,你得到的错误显然是编译器崩溃,正如所证明的那样AssertionError.这不是代码中的问题.如果它不在bug数据库中,您应该将此报告为错误.
AssertionError
归档时间:
10 年,2 月 前
查看次数:
4873 次
最近记录: