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

public class PengisiNilai {
    // Consumer: daftar hanya ditulis Integer. Bound ? super Integer
    // mengizinkan List<Integer>, List<Number>, dan List<Object>.
    static void isiSkor(List<? super Integer> target) {
        for (int skor = 60; skor <= 80; skor += 10) {
            target.add(skor);   // menulis Integer: sah di semua target
        }
    }

    public static void main(String[] args) {
        List<Integer> skorBulat = new ArrayList<>();
        List<Number> skorAngka = new ArrayList<>();
        List<Object> rak = new ArrayList<>();

        isiSkor(skorBulat);
        isiSkor(skorAngka);
        isiSkor(rak);

        System.out.println("Integer: " + skorBulat);
        System.out.println("Number : " + skorAngka);
        System.out.println("Object : " + rak);

        // Membaca dari List<? super Integer> hanya menjamin Object
        Object contoh = skorAngka.get(0);
        System.out.println("Dibaca : " + contoh.getClass().getSimpleName());
    }
}
