Scala 的泛型类

原创
2016/12/26 16:44
阅读数 47

Scala 中的泛型类指的也是一个有类型参数的类

class Singular[A](element: A) extends Traversable[A] {
	def foreach[B](f: A=> B) = f(element)
}

object scala {
	def main(args: Array[String]) = { 
		val p = new Singular("Planes")
		p.foreach(println)
		//p foreach println // 等价写法
	}
}

类名后跟的 [A] 就是类型参数,在 new 生成实例的时候,Singular 类会根据参数 "Planes" 自动推导出 A 的类型,即 String。

foreach 是一个函数泛型,它接受一个函数参数 f,f 的参数为 A,函数体为 B,当我们传入 println 时,自动推导出 B 的类型,即 println 的类型。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部