Scala val和同时输入

在阅读 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,则无法访问这些方法,至少不能使用别名.

相关文章

共收录Twitter的14款开源软件,第1页Twitter的Emoji表情 Tw...
Java和Scala中关于==的区别Java:==比较两个变量本身的值,即...
本篇内容主要讲解“Scala怎么使用”,感兴趣的朋友不妨来看看...
这篇文章主要介绍“Scala是一种什么语言”,在日常操作中,相...
这篇文章主要介绍“Scala Trait怎么使用”,在日常操作中,相...
这篇文章主要介绍“Scala类型检查与模式匹配怎么使用”,在日...