Scala中的BoxedUnit和Unit有什么区别?它们什么时候用作函数的返回类型?他们与REF的关系是什么?这是我在处理Unit时遇到的类型不匹配错误。
错误:java.lang.AssertionError:断言失败:无法从单元hello.scala中的UNIT转换为REF(类BoxedUnit) - 源码/ / Users / shiyu / Scala / FinalDataFlow / src / print / hello.scala,line- 347,偏移量= 13999
Scala中的BoxedUnit和Unit有什么区别?它们什么时候用作函数的返回类型?他们与REF的关系是什么?这是我在处理Unit时遇到的类型不匹配错误。
错误:java.lang.AssertionError:断言失败:无法从单元hello.scala中的UNIT转换为REF(类BoxedUnit) - 源码/ / Users / shiyu / Scala / FinalDataFlow / src / print / hello.scala,line- 347,偏移量= 13999
Unit
是唯一值的类型 ()
,发音为“unit”。
BoxedUnit
是一个 实施细节 JVM上的Scala,用于编码 ()
当它进入一般上下文,或以其他方式分配给 Any
。通常,你不应该听到 BoxedUnit
首先,虽然它确实泄露了一些用户级功能。例如 ((): Any).getClass().getName() == "scala.runtime.BoxedUnit"
。
也就是说,你得到的错误显然是编译器崩溃,正如所证明的那样 AssertionError
。这不是代码中的问题。你可能应该 将此报告为错误 如果它还没有在bug数据库中。
Unit
是唯一值的类型 ()
,发音为“unit”。
BoxedUnit
是一个 实施细节 JVM上的Scala,用于编码 ()
当它进入一般上下文,或以其他方式分配给 Any
。通常,你不应该听到 BoxedUnit
首先,虽然它确实泄露了一些用户级功能。例如 ((): Any).getClass().getName() == "scala.runtime.BoxedUnit"
。
也就是说,你得到的错误显然是编译器崩溃,正如所证明的那样 AssertionError
。这不是代码中的问题。你可能应该 将此报告为错误 如果它还没有在bug数据库中。