用于将类传递给函数的Scala语法

时间:2016-03-04 23:28:45

标签: scala

有人可以在Scala中解释这种语法吗?我知道" cd"是一种类型和" _"是一个通配符,但"<:"在这吗?谢谢。

   def func( cd: Class[_ <: CompressionCodec])

1 个答案:

答案 0 :(得分:7)

它用于Upper-type bound泛型。这意味着_必须是CompressionCodec的子类型。与用>:编写的低类型绑定泛型相比,它必须是超类型。

如果您了解Java,您可以将它们视为上层类型绑定泛型的Class<? extends CompressionCodec>和下层类型绑定泛型的Class<? super CompressionCodec>

点击此处了解更多信息! http://docs.scala-lang.org/tutorials/tour/upper-type-bounds.html