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

scala方法上的多个类型参数

发布时间:2020-12-16 09:53:54 所属栏目:安全 来源:网络整理
导读:在 Java中,Map可以参数化为Map K,V,但在Scala中,我不知道方法上多个类型参数的含义是什么,例如: def foo[T,U,R] 当一个类型参数参数化的方法时,很容易理解.例如def f [T](t:T). 解决方法 假设我想编写一个在任何旧Map [K,V]上运行的泛型方法 – 我必须在方
在 Java中,Map可以参数化为Map< K,V>,但在Scala中,我不知道方法上多个类型参数的含义是什么,例如:

def foo[T,U,R]

当一个类型参数参数化的方法时,很容易理解.例如def f [T](t:T).

解决方法

假设我想编写一个在任何旧Map [K,V]上运行的泛型方法 – 我必须在方法类型参数列表中包含两个类型参数:

def mapToList[K,V](m: Map[K,V]): List[(K,V)] = m.toList

三个参数的工作方式相同.假设我有一个函数A => B和另一个B => C,我想组合它们来获得从A到C的函数 – 我需要在参数列表中使用所有三种类型:

def andThen[A,B,C](f: A => B,g: B => C): A => C = (a: A) => g(f(a))

这两个例子都是微不足道的,因为我们已经有m.toList和f andThen g,但它们应该使多个类型参数的用例清晰.

(编辑:李大同)

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

    推荐文章
      热点阅读