Scala – 枚举与案例类
发布时间:2020-12-16 09:13:22 所属栏目:安全 来源:网络整理
导读:我创建了名为LogActor的akka??演员. LogActors的receive方法处理来自其他actor的消息,并将它们记录到指定的日志级别. 我可以通过两种方式区分不同的层次.第一个: import LogLevel._object LogLevel extends Enumeration { type LogLevel = Value val Error,
我创建了名为LogActor的akka??演员.
LogActors的receive方法处理来自其他actor的消息,并将它们记录到指定的日志级别. 我可以通过两种方式区分不同的层次.第一个: import LogLevel._ object LogLevel extends Enumeration { type LogLevel = Value val Error,Warning,Info,Debug = Value } case class LogMessage(level : LogLevel,msg : String) 第二:(编辑) abstract class LogMessage(msg : String) case class LogMessageError(msg : String) extends LogMessage(msg) case class LogMessageWarning(msg : String) extends LogMessage(msg) case class LogMessageInfo(msg : String) extends LogMessage(msg) case class LogMessageDebug(msg : String) extends LogMessage(msg) 哪种方式更有效率?匹配案例类或匹配枚举值需要更少的时间吗? (我读了this的问题,但没有任何答案指的是运行时问题) 解决方法
“不要过早优化”适用.我不相信他们之间的差异很可能是重要的,相比之下,你花费传递信息给你的演员或实际登录他们.但我希望最好的性能是创建一个Java枚举(可以从Scala轻松访问和使用)来记录级别而不是Scala枚举.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |