Eğer liste hem dolaşılacak hem de eklenecekse wildcard kullanılmaması gerekir. 
Örnek
Şöyle yaparız. count metodu listeye yeni eleman ekler, sum ise listeyi dolaşır. Dolayısıyla sadece Collection<Number> şeklinde kullanılır.
public static double sumCount(Collection<Number> nums, int n) {
  count(nums, n);
  return sum(nums);
}
Örnek - İçerideki Generic tip
Şöyle yaparız. Burada RandomizerEntry sınıfının kendisi de Generic tip. Dolayısıyla generic tipi de dışarından geçmek gerekiyor.
public class RandomizedWrapper<T>{
  final int upperBound = 100;
  final List<RandomizerEntry<T>> randomizeList;
  Map<Integer, RandomizerEntry<T>> randomizerMap;
    
  public RandomizedWrapper(final List<RandomizerEntry<T>> randomizeList) {
    this.randomizeList = randomizeList;
    this.randomizerMap = new HashMap<>();
  }
  public void create(){
    List<RandomizerEntry<Integer>> randomizerList = new ArrayList<>();
    //stuff here
    RandomizedWrapper wrapper = new RandomizedWrapper(randomizerList);//OK
  }
}
Hiç yorum yok:
Yorum Gönder