Commit 6fc1055f authored by Trisha Gee's avatar Trisha Gee
Browse files

[Ch10b] Be the compiler exercise changed so that the generic objects are passed into a method

parent 7f1c981b
Loading
Loading
Loading
Loading
+36 −16
Changes for src/main/java/ch10b/BeTheCompiler.java: 36 added lines, 16 removed lines.
Original line number Diff line number Diff line
@@ -5,24 +5,44 @@ import java.util.List;

public class BeTheCompiler {
  public static void main(String[] args) {
//    ArrayList<Dog> dogs1 = new ArrayList<Animal>();
//
//    ArrayList<Animal> animals1 = new ArrayList<Dog>();
//
//    List<Animal> list = new ArrayList<Animal>();
//
//    ArrayList<Dog> dogs = new ArrayList<Dog>();
//
//    ArrayList<Animal> animals = dogs;
//
//    List<Dog> dogList = dogs;
//
//    ArrayList<Object> objects = new ArrayList<Object>();
//
//    List<Object> objList = objects;
    takeAnimals(new ArrayList<Animal>());

//    takeDogs(new ArrayList<Animal>());
//
//    ArrayList<Object> objs = new ArrayList<Dog>();
//    takeAnimals(new ArrayList<Dog>());

    takeDogs(new ArrayList<>());

    List<Dog> dogs = new ArrayList<>();
    takeDogs(dogs);

    takeSomeAnimals(new ArrayList<Dog>());

    takeSomeAnimals(new ArrayList<>());

    takeSomeAnimals(new ArrayList<Animal>());

    List<Animal> animals = new ArrayList<>();
    takeSomeAnimals(animals);

    List<Object> objects = new ArrayList<>();
//    takeObjects(objects);
//
//    takeObjects(new ArrayList<Dog>());

    takeObjects(new ArrayList<Object>());
  }

  private static void takeDogs(List<Dog> dogs) {
    // do something
  }
  private static void takeAnimals(List<Animal> animals) {
    // do something
  }
  private static void takeSomeAnimals(List<? extends Animal> animals) {
    // do something
  }
  private static void takeObjects(ArrayList<Object> objects) {
    // do something
  }
}