Scala val和同时输入
发布时间:2020-12-16 10:05:08 所属栏目:安全 来源:网络整理
导读:在阅读 Scala源代码时,我在scala / package.scala中遇到了以下内容 我不太明白为什么我们需要特质和val同时. trait关键字将为该类别名,那么为什么我们需要val呢? type StringBuilder = scala.collection.mutable.StringBuilder val StringBuilder = scala.c
在阅读
Scala源代码时,我在scala / package.scala中遇到了以下内容
我不太明白为什么我们需要特质和val同时. trait关键字将为该类别名,那么为什么我们需要val呢? type StringBuilder = scala.collection.mutable.StringBuilder val StringBuilder = scala.collection.mutable.StringBuilder // Numeric types which were moved into scala.math.* type BigDecimal = scala.math.BigDecimal val BigDecimal = scala.math.BigDecimal type BigInt = scala.math.BigInt val BigInt = scala.math.BigInt type Equiv[T] = scala.math.Equiv[T] val Equiv = scala.math.Equiv 我还包括一个Generic Type示例,以便更好地理解多个声明. 解决方法
这是因为type只定义了一个类型别名;它不会为类型的伴随对象添加别名.
伴随对象通常包含方便的方法,尤其是用于创建该类型对象的apply方法.如果不执行val,则无法访问这些方法,至少不能使用别名. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |