我有两个case类像这样的 -斯卡拉:case类转换为对象
case class GetList()
case class Add(num: Int)
我有一个演员的接收方法是这样的 -
override def receive() = {
case a: Add => // do something
case g: GetList => // do something
case x: Any => // something
}
我打电话演员如 -
ref ! Add(1)
ref ! GetList
对于添加(1)消息,我得到一个一击:在添加接收。但是,对于GetList消息,它将发送到x:Any。 仔细观察我发现我得到的实例是GetList $类型,它通常表示一个“对象”。
谁在做这种转换,为什么?这种怪异行为的基本原理是什么?
谢谢。另外,我必须更改我的接收匹配器,使其看起来像'case GetList',而不是'case g:GetList' – anindyaju99