ope*_*sas 5 scala companion-object
我认为通过一个例子更容易展示.
假设我有一个Condition case类,Condition伴随对象用于提供替代构造函数,如下所示:
case class Condition(
field: String,
values: List[String])
}
object Condition {
def apply(field: String, value: String): Condition = {
Condition(field, List(value))
}
}
Run Code Online (Sandbox Code Playgroud)
当我从另一个导入它时,我得到以下警告(最终变成错误):
import utils.query.Condition
[warn] [...]/ConditionBuilder.scala:14: imported `Condition' is permanently hidden by definition of object Condition in package query
[warn] import utils.query.Condition
[warn] ^
[warn] one warning found
Run Code Online (Sandbox Code Playgroud)
我想在执行变量类型时访问条件类型,并在执行其中一个方法时访问伴随对象
有没有办法实现这一点,并避免这种警告(当然,除了重命名伴侣对象)?
到目前为止,我发现的解决方法是像这样导入:
import utils.query
[...]
val myCondition: query.Condition
Run Code Online (Sandbox Code Playgroud)
警告消失了,但我认为应该有更好的解决方案......
| 归档时间: |
|
| 查看次数: |
3731 次 |
| 最近记录: |