scala - 类型别名的伴随对象

标签 scala

我有以下带有伴随对象的案例类:

case class A(boo:String)
object A{
 def foo(x:a) = ...
}

我的包对象中有以下类型别名:

type NewA = A

我希望 A 伴生对象中的所有方法都在 NewA 的伴生对象中。我知道一种方法,但这并不好:

object NewA{
  val instance = A
}
NewA.instance.foo(...)

有没有更好的写法?

最佳答案

只需将 val 添加到引用 A 的包对象中:

package object your_package {
  type NewA = A
  val NewA = A
}

然后你可以像使用 A 一样使用 your_package 中的 NewA:

import your_package.NewA

NewA.foo(...)

关于scala - 类型别名的伴随对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33380154/

相关文章:

json - Play 框架,JSON 读取组合器,具有覆盖的 apply 方法

scala - 当我将 sbt 默认 scala 库更改为 scala 2.11.2 时,找不到 sbt 0.13.1 多项目模块

scala - 如何模式匹配scala列表的头部和尾部类型?

java - 当 Hystrix 短路且电路开路时,即使有问题的服务备份,它也永远不会关闭

scala - scalaz.Maybe 的 Circe 解码器

scala - Scala文件

scala - 为什么我能够使用传递给类定义的参数?

maven-2 - 通过 Maven 使用调试信息编译 Scala 类

macos - sbt-native-packager用于Mac OS X上的Docker

java - 用于创建异步流 API 的框架