为什么Intellij会发出此警告,这是什么意思,我该如何做得更好?
import akka.actor.Props
object Router {
def props(config: Config, addresses: Set[Address]): Props =
Props(classOf[Router], config, addresses)
// "dynamic invocation could be replaced with a constructor invocation"
如果我的道具在场,我会收到不同的警告。
system.actorOf(Props(classOf[Router], config, addresses))
// could be replaced with factory method call
由于
答案 0 :(得分:5)
您是否遗漏了一个带有class Router
实例和Config
个实例集合的构造函数的Address
定义?有点像...
class Router(config: Config, addresses: Set[Address]) extends Actor
如果是,请尝试对随播对象进行以下轻微修改。
object Router {
def props(config: Config, addresses: Set[Address]): Props = {
Props(new Router(config, addresses))
}
}
这跟best practices之后用于创建演员,可能会消除警告。