首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scala - Generics +隐式转换

Scala - Generics +隐式转换
EN

Stack Overflow用户
提问于 2011-06-10 15:50:55
回答 1查看 650关注 0票数 2

我写了这个方法

代码语言:javascript
复制
def compare[U, T <: Comparable[U]](a: T, b: U) = a.compareTo(b)

它适用于String和Integer,但不适用于Int或RichInt。那么,为什么Int不自动转换为Integer呢?

EN

回答 1

Stack Overflow用户

发布于 2011-06-10 16:22:16

使用简单的上下文绑定将要求编译器在将转换的值传递给方法之前应用隐式转换。我相信你想要的是:

代码语言:javascript
复制
def compare[U, T <% Comparable[U]](a: T, b: U) = a.compareTo(b)

在这里,'a‘的隐式包装将发生在方法的实现中,因此您应该能够得到所需的东西。我不完全清楚是什么用法让你失望了--你应该试着包括那些不起作用的例子,这样我们才能确定我们在尝试回答什么!

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6308872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档