java~PECS原則

pecs

  • 全稱是Producer Extends Consumer Super
  • 使用extends確定上界的只能是生產者,只能往外生產東西,取出的就是上界類型。不能往裏塞東西。
  • 使用Super確定下界的只能做消費者,只能往裏塞東西。取出的因爲無法確定類型只能轉成Object類型看代碼更好理解。

代碼

List<? extends Number> numbers = new ArrayList();
numbers.add(4); //報錯
Number number = numbers.get(1);//成功

List<? super Number> strs = new ArrayList<>();
strs.add(123);//成功
Number o = strs.get(1);//報錯

具體說明

上界通配符(Upper Bounded Wildcards)

下界通配符(Lower Bounded Wildcards)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章