4 poin oleh GN⁺ 2023-09-18 | Belum ada komentar. | Bagikan ke WhatsApp
  • Java 21, yang dijadwalkan rilis pada 19/9/2023, mendukung record pattern dalam blok dan ekspresi switch, sebuah pembaruan penting yang membuat Java lebih dekat ke pola pemrograman fungsional seperti Kotlin, Rust, dan C#
  • Java telah berkembang pesat selama 10 tahun terakhir, dan sejak Java 9 pembaruan besar dirilis setiap 6 bulan
  • Java 21 mematangkan record pattern dan pattern matching pada switch, sehingga memungkinkan representasi algebraic data type, salah satu elemen inti pemrograman fungsional
    • Konsep algebraic data type dijelaskan melalui type theory, salah satu cabang dari teori himpunan
  • Versi baru ini juga memperkenalkan fitur bernama pattern matching, yang memungkinkan verifikasi statis terhadap pola data tertentu
  • Java 21 juga memperkenalkan sealed class atau interface agar pengembang dapat mengontrol interaksi pengguna dengan API library
  • Sealed class atau interface mendukung design pattern yang didasarkan pada konsep sum type, yang berarti pada suatu saat tipe dapat menjadi salah satu dari komponen penyusunnya
  • Versi baru ini juga menghadirkan guard clause yang memungkinkan kondisi kompleks diekspresikan secara ringkas di dalam statement dan ekspresi switch
  • Java 21 memperkenalkan kelas exception baru bernama java.lang.MatchException yang terjadi ketika pattern match gagal secara tidak semestinya
  • Artikel ini membahas penggunaan blok switch di Java 21 dan bagaimana dalam kondisi tertentu hal itu dapat memicu MatchException
  • MatchException terjadi ketika blok switch tidak cocok dengan selector maupun salah satu varian yang ditentukan, dan ini dianggap sangat tidak biasa
  • Java Enhancement Proposal (JEP) 441 mengakui bahwa sangat tidak biasa jika metode accessor record selalu melempar exception
  • Artikel ini memberikan contoh blok switch yang memicu MatchException akibat error pembagian dengan 0 di dalam guard clause
  • Penulis mencatat bahwa situasinya menjadi lebih rumit ketika bilangan yang dibagi dalam operasi pembagian adalah nilai dinamis yang bisa bernilai 0
  • Artikel ini merupakan bagian dari seri yang mengeksplorasi fitur-fitur baru dan kapabilitas di Java 21, dan ke depannya akan melihat beberapa fitur menarik beserta contoh praktis tentang bagaimana fitur-fitur ini dapat digunakan untuk memperbaiki cara penulisan kode Java
  • Penulis menyebut bahwa topik tertentu, seperti bagaimana generic berinteraksi dengan switch pattern, tidak dibahas dalam artikel ini tetapi mungkin akan dibahas di artikel mendatang
  • Artikel ini relevan bagi mereka yang tertarik pada pattern matching di JVM, pemrograman fungsional, Java 21, dan algebraic type

Belum ada komentar.

Belum ada komentar.