0

Following is a static function code snippet

   public static void safeIterate(Iterable<? extends CombatComponent> iterable, Consumer<? extends CombatComponent> consumer) {
        Iterator<? extends CombatComponent> iterator = iterable.iterator();
        while (iterator.hasNext()) {
            consumer.accept(iterator.next());
        }
    }

such code snippet could not compile successfully unless I change the second function parameter to Consumer<CombatComponent> consumer, which confused me a lot.

Peter O.
  • 30,765
  • 14
  • 76
  • 91
choxsword
  • 2,974
  • 15
  • 36

0 Answers0