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.
  • 32,158
  • 14
  • 82
  • 96
choxsword
  • 3,187
  • 18
  • 44

0 Answers0