包对象在scala中可以有apply方法吗?

时间:2019-05-31 01:26:21

标签: scala

在Scala中,可以在包对象内部定义apply方法,并像函数一样使用包对象吗?

例如,我将包对象定义为:

package io.foo

package object f {
   def apply[X](x: X): String = x.toString
}

然后,在其他文件中,我想像这样使用它:

import io.foo._

val s = f(5)

但是,执行此操作时,会出现一个编译错误,提示package io.foo.f is not a value

尽管编译如下:

import io.foo._

val s = f.apply(5)

还有,这样做有什么缺点吗?

0 个答案:

没有答案