Skip to content

M04 · Bab 6± 40 menitDraf AI

Optional yang Benar & Salah

Tujuan belajar

  • Menjelaskan kenapa Optional dipakai sebagai return type untuk hasil yang mungkin tidak ada
  • Membuat Optional dengan of, ofNullable, dan empty sesuai situasi
  • Mengolah nilai dengan map, flatMap, filter, lalu mengambilnya dengan orElse, orElseGet, atau orElseThrow
  • Mengenali anti-pattern Optional — get() tanpa cek, Optional sebagai field/parameter, dan Optional<List>
  • Menerapkan pola findById(...).orElseThrow(...) ala Spring Data di service

Prasyarat: Collector & Operasi Stream Lanjutan

Kuis

5 soal · lulus bila minimal 70% benar

1.Apa output dari kode ini? String code = null; System.out.println(Optional.ofNullable(code).map(String::length).orElse(-1));
2.Method fallback() mencetak F lalu mengembalikan "x". Apa output dari System.out.println(Optional.of("A").orElse(fallback()));?
3.Log production berisi java.util.NoSuchElementException - No value present dari endpoint GET /products/{id} ketika id tidak ada, dan client menerima HTTP 500. Kodenya productRepository.findById(id).get(). Perbaikan yang paling tepat?
4.Rekan setim menulis method Optional<List<Order>> findOrdersByCustomer(long customerId). Apa saran review yang paling tepat?
5.Customer punya method Optional<Address> shippingAddress(). Ekspresi findCustomer(id).map(Customer::shippingAddress) menghasilkan tipe apa?

Jawab semua soal dulu (0/5)