Commit ba32bafe authored by Trisha Gee's avatar Trisha Gee
Browse files

[Ch10b] Generic methods

parent 7f458f96
Loading
Loading
Loading
Loading
+38 −0
Changes for src/main/java/ch10b/TestGenerics4.java: 38 added lines, 0 removed lines.
Original line number Diff line number Diff line
package ch10b;

import java.util.ArrayList;
import java.util.List;

public class TestGenerics4 {
  public static void main(String[] args) {
    new TestGenerics4().go();
  }

  public void go() {
    List<Animal> animals = new ArrayList<>();
    animals.add(new Dog());
    animals.add(new Cat());
    animals.add(new Dog());
    takeAnimals(animals);

    List<Dog> dogs = new ArrayList<>();
    dogs.add(new Dog());
    dogs.add(new Dog());
    takeAnimals(dogs);
  }

  public void takeAnimals(List<? extends Animal> animals) {
    for (Animal a : animals) {
      a.eat();
    }
  }

  public <T extends Animal> void takeAnimals2(List<T> animals) {
    for (Animal a : animals) {
      a.eat();
    }
  }
}