kotlin 的out,in 用法

259 阅读1分钟

参考 java

  • out : 相当于java里面的 <? extend T >

    • 上界<? extends Class>
  • in 相当于java里面的 <? super>

    • 下界<? super Class>

PECS原则 (生产者 与消费者)

  • 如果要从集合中读取类型T的数据,并且不能写入,可以使用 ? extends 通配符;(Producer Extends) 

  • 如果要从集合中写入类型T的数据,并且不需要读取,可以使用 ? super 通配符;(Consumer Super) 

如果既要存又要取,那么就不要使用任何通配符。

参考