"Topik keren lainnya."
"Kejutan terus berdatangan! Apakah ini hari ulang tahunku?"
"Hari ini, saya akan memberi tahu Anda tentang generik. Generik adalah tipe yang memiliki parameter. Di Java, kelas kontainer memungkinkan Anda menunjukkan tipe objek dalamnya."
"Saat kami mendeklarasikan variabel generik, kami menunjukkan dua tipe, bukan satu: tipe variabel dan tipe data yang disimpannya."
"ArrayList adalah contoh yang bagus. Saat kita membuat objek ArrayList baru, akan lebih mudah untuk menunjukkan jenis nilai yang akan disimpan di dalam daftar ini."
Kode | Penjelasan |
---|---|
|
Buat variabel ArrayList bernama list . Tetapkan objek ArrayList untuk itu. Daftar ini hanya dapat menyimpan objek String . |
|
Buat variabel ArrayList bernama list . Tetapkan objek ArrayList untuk itu. Daftar ini dapat menyimpan nilai apapun . |
|
Buat variabel ArrayList bernama list . Tetapkan objek ArrayList untuk itu. Daftar ini hanya dapat menyimpan Integer dan int nilai. |
"Kedengarannya sangat menarik. Terutama bagian tentang menyimpan nilai jenis apa pun ."
"Sepertinya itu hal yang baik. Pada kenyataannya, jika kita memasukkan string ke dalam ArrayList dalam satu metode dan kemudian mengharapkannya berisi angka dalam metode lain, program akan macet (dihentikan dengan kesalahan)."
"Jadi begitu."
"Untuk saat ini, kami tidak akan membuat kelas kami sendiri dengan parameter tipe. Kami hanya akan menggunakan yang sudah ada."
"Bisakah kelas apa saja menjadi parameter tipe, bahkan yang saya tulis?"
"Ya. Semua tipe kecuali tipe primitif. Semua parameter tipe harus diturunkan dari kelas Object."
" Maksud Anda, saya tidak bisa menulis ArrayList<int>? "
"Memang, Anda tidak bisa. Tapi pengembang Java telah menulis kelas pembungkus untuk masing-masing tipe primitif. Kelas-kelas ini mewarisi Object . Begini tampilannya:"
Tipe primitif | Kelas | Daftar |
---|---|---|
int | Bilangan bulat | ArrayList< Bilangan Bulat > |
dobel | Dobel | ArrayList< Ganda > |
boolean | Boolean | ArrayList< Boolean > |
arang | Karakter | ArrayList< Karakter > |
byte | Byte | ArrayList< Byte > |
"Anda dapat dengan mudah menetapkan kelas primitif dan analognya (kelas pembungkus) satu sama lain:"
Contoh |
---|
|
|
|
|
|
"Bagus. Saya pikir saya akan mencoba menggunakan ArrayList lebih sering."
GO TO FULL VERSION