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

如何解决scala中的模糊方法引用

发布时间:2020-12-16 18:44:19 所属栏目:安全 来源:网络整理
导读:这是我遇到的具体问题.我使用 SLF4J Logger (下面的变量记录器的类型) //After adding to a maplogger debug ("Adding {} = {}",key,value) 这是eclipse中的鼠标悬停(和编译器)告诉我的. ambiguous reference to overloaded definition,both method debug in
这是我遇到的具体问题.我使用 SLF4J Logger (下面的变量记录器的类型)

//After adding to a map
logger debug ("Adding {} = {}",key,value)

这是eclipse中的鼠标悬停(和编译器)告诉我的.

ambiguous reference to overloaded definition,both method debug in trait Logger of type (x$1: String,x$2: Object*)Unit and method debug in trait Logger of type (x$1: String,x$2: Any,x$3: Any)Unit match argument types (String,String,String)

我明白为什么他们含糊不清.我当然不是在和编译器争论:).我想简单地了解经验丰富的程序员如何解决这个问题.

以下是我可以使用的替代方案

>创建和数组,并运行Object *定义

logger debug(“Adding {} = {}”,Array(key,value):_ *)
>演员到任何人

logger debug(“Adding {} = {}”,key.asInstanceOf [Any],value.asInstanceOf [Any])

这两种方法都没有特别吸引人.社区对我有更好的方法或建议吗?

非常感谢!

解决方法

我会用

logger.debug("Adding {} = {}",value: Any)

或者可以使用以下内容:

logger.debug("Adding {} = {}",value):_*)

请注意:_ *.如果省略这些符号,它将调用Object *方法,只提供1个参数,这将是一个数组.

(编辑:李大同)

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

    推荐文章
      热点阅读