加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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枚举.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读