2012-12-06 177 views

回答

14
A<T extends I1, I2> 

是一种A具有两个参数

  1. T其必须的I1
  2. I2

亚型可以读此为“A <介词>类型T它延伸了I1 <介词> t YPE I2" , 所以SortedMap<Key extends comparable, Value>是‘从可比类型的密钥映射到类型值’


A<T extends I1 & I2> 

是一种A与单个参数

  1. T其必须的子类型I1I2的子类型

您可以阅读为“A <介词>类型T延伸I1和I2“所以SortedSerializableSet<T extends Serializable & Comparable>可以被读取”T类型的元素,这是可序列化和可比较的排序集“

+0

你是对的!我一直被'extend'所困扰,这使我认为I1和I2与T相关......我对...感到羞耻...... – ncenerar

+0

还要注意,当一个类实现多个接口时使用了彗形象差(','),但是'&'不允许在那里...这是令人困惑的... – ncenerar

+0

@NicolasCenerario,我同意','是令人困惑的。理想情况下,在类型签名中,他们会重用'implements'或者像('|')那样使用标点符号,这表示您正在扩展可以接受正在声明的类型值的左侧的集合。 –

相关问题