Skip to content

M04 · Bab 1± 40 menitDraf AI

Generic Class & Method

Tujuan belajar

  • Menjelaskan masalah yang diselesaikan generics — type safety saat kompilasi dan kode tanpa cast
  • Membuat generic class seperti Box<T> dan generic method seperti <T> T first(List<T>)
  • Memakai diamond <>, beberapa type parameter (Pair<A, B>), dan konvensi nama T/E/K/V
  • Merancang generic interface Repository<T, ID> bergaya Spring Data dan mengimplementasikannya untuk tipe konkret

Prasyarat: Proyek Mini: Inventaris In-Memory

Kuis

5 soal · lulus bila minimal 70% benar

1.Apa yang terjadi saat kode Box<String> box = new Box<>("KOPI-250"); box.set(85_000); dikompilasi, bila Box<T> punya method void set(T value)?
2.Apa output kode ini? record Pair<A, B>(A first, B second) {} lalu var p = new Pair<>("TEH-100", 3); System.out.println(p.second() + p.second());
3.Manakah deklarasi generic method yang benar untuk mengambil elemen pertama dari list bertipe apa pun?
4.Rekan setim membuat class ObjectCache { Object get(String key) } dan setiap pemanggil menulis (Product) cache.get(sku). Sesekali production melempar ClassCastException. Perbaikan yang paling tepat?
5.Dengan interface Repository<T, ID> { T findById(ID id); } dan class OrderRepository implements Repository<Order, Long>, apa tipe parameter dan kembalian findById di OrderRepository?

Jawab semua soal dulu (0/5)