Rumah Keuangan Pribadi Java: Semua tentang Generics - dummies

Java: Semua tentang Generics - dummies

Video: 2# Kuy Belajar Algoritma dan Struktur Data : Generic 2025

Video: 2# Kuy Belajar Algoritma dan Struktur Data : Generic 2025
Anonim

Salah satu tujuan desain asli untuk Java adalah menjaga bahasa sesederhana mungkin. Pengembang bahasa mengambil beberapa fitur C ++ yang tidak perlu rumit dan melemparkannya ke luar jendela. Hasilnya adalah bahasa yang elegan dan ramping. Beberapa orang mengatakan bahasa itu terlalu ramping.

Jadi setelah beberapa tahun berdiskusi dan bertengkar, Java menjadi sedikit lebih rumit. Pada tahun 2004, Java memiliki tipe enum, ditingkatkan untuk loop, impor statis, dan beberapa fitur baru lainnya yang menarik. Tapi fitur baru yang paling banyak dibicarakan adalah pengenalan obat generik.

ArrayList people = new ArrayList ();

Penggunaan sesuatu seperti baru di Jawa 5. 0. Di Jawa gaya lama, Anda akan menulis

ArrayList people = new ArrayList ();

Pada masa itu, seorang ArrayList dapat menyimpan hampir semua barang yang ingin Anda masukkan ke dalamnya - nomor, Akun, Kamar, String … semuanya. Kelas ArrayList sangat serbaguna, namun dengan fleksibilitas ini muncul beberapa sakit kepala. Jika Anda bisa memasukkan sesuatu ke dalam ArrayList, Anda tidak dapat dengan mudah memprediksi apa yang akan Anda dapatkan dari ArrayList.

Secara khusus, Anda tidak dapat dengan mudah menulis kode yang menganggap Anda telah menyimpan beberapa jenis nilai tertentu dalam ArrayList. Inilah contohnya:

ArrayList things = new ArrayList (); sesuatu. tambahkan (Akun baru ()); Akun myAccount = hal. mendapatkan (0); // JANGAN GUNAKAN INI. KODE BURUK.

Di baris ketiga, panggilan untuk mendapatkan (0) meraih nilai paling awal dalam koleksi barang. Panggilan untuk mendapatkan (0) tidak apa-apa, tapi kemudian kompilator tersedak pada percobaan tugas ke myAccount. Anda mendapat pesan di baris ketiga yang mengatakan bahwa apapun yang Anda dapatkan dari daftar barang tidak dapat dimasukkan ke dalam variabel myAccount.

Anda mendapatkan pesan ini karena, pada saat kompilator mencapai baris ketiga, telah lupa bahwa item yang ditambahkan pada baris kedua adalah tipe Akun!

Pengenalan obat generik memperbaiki masalah ini:

ArrayList things = new ArrayList (); sesuatu. tambahkan (Akun baru ()); Akun myAccount = hal. mendapatkan (0); // GUNAKAN KODE INI INSTEAD. KODE YANG BAIK.

Menambahkan di dua tempat memberitahu kompilator bahwa barang-barang menyimpan kejadian Account - tidak ada yang lain. Jadi, pada baris ketiga dalam kode sebelumnya, Anda mendapatkan nilai dari kumpulan barang. Kemudian, karena barang hanya menyimpan objek Akun, Anda bisa membuat myAccount mengacu pada nilai baru tersebut.

Java 5. 0 menambahkan generik ke Java. Tapi segera setelah kelahiran Java 5. 0, programmer melihat betapa kikuknya kode untuk obat generik.Lagi pula, Anda bisa menciptakan obat generik dalam obat generik. ArrayList dapat berisi sekelompok array, yang masing-masing bisa berupa ArrayList. Jadi kamu bisa menulis

ArrayList  mess = new ArrayList  ();

Semua pengulangan dalam deklarasi kekacauan itu membuat programmer menjadi sakit kepala! Untuk menghindari keburukan ini, versi Java 7 dan yang lebih baru memiliki operator berlian , . Operator berlian memberitahu Java untuk menggunakan kembali barang-barang rumit yang Anda sebutkan sebelumnya di deklarasi generik sebelumnya.

Dalam contoh ini, Java mengatakan untuk menggunakan kembali , meskipun Anda menulis hanya sekali. Berikut adalah bagaimana kode Java 7 yang ramping terlihat:

ArrayList  mess = new ArrayList ();

Di Jawa 7 dan yang lebih baru, Anda dapat menulis salah satu dari deklarasi berantakan ini - deklarasi asli dan buruk dengan dua kejadian ArrayList [], atau deklarasi yang disederhanakan (hanya agak menjijikkan) dengan operator berlian dan hanya satu ArrayList [] kejadian.

Ya, kode yang disederhanakan masih rumit. Tapi tanpa pengulangan ArrayList [], kode yang disederhanakan kurang praktis. Operator berlian Java 7 menghilangkan satu kesempatan bagi Anda untuk menyalin sesuatu secara tidak benar dan memiliki kesalahan besar dalam kode Anda.

Java: Semua tentang Generics - dummies

Pilihan Editor

SharePoint 2010 Edit Menu - dummies

SharePoint 2010 Edit Menu - dummies

SharePoint 2010 menyediakan dua metode untuk bekerja dengan dokumen. Setiap dokumen memiliki menu Edit yang dapat Anda gunakan untuk mengambil beberapa tindakan pada dokumen itu, seperti memeriksanya untuk diedit. Ribbon juga menampilkan serangkaian tindakan yang dapat dilakukan pada masing-masing dokumen atau sekelompok dokumen yang dipilih. Mengakses ...

SharePoint 2010 Halaman Master dan Galeri Tata Letak Halaman - dummies

SharePoint 2010 Halaman Master dan Galeri Tata Letak Halaman - dummies

Jika Anda berada di situs kolaborasi SharePoint 2010 koleksi, Anda bisa mencatat galeri Master Page di Galeri, namun tidak ada link untuk menerapkan halaman utama di bagian Look and Feel. Di situs penerbitan, Anda memiliki galeri Halaman Utama dan Galeri Page Layout serta pilihan Master Page di ...

Kerangka situs Business Intelligence Center SharePoint 2010 - dummies

Kerangka situs Business Intelligence Center SharePoint 2010 - dummies

Template situs Business Intelligence Center yang baru di SharePoint 2010 menyatukan semuanya untuk Anda guna memantau, menganalisis, dan mewakili data kinerja dan hasil dalam organisasi Anda. Untuk membuat situs berdasarkan template Business Intelligence Center, Anda harus memiliki fitur PerformancePoint Services Site Collection yang diaktifkan. Jika Anda bukan ...

Pilihan Editor

Manfaat Memotret di Alam pada masa siang hari

Manfaat Memotret di Alam pada masa siang hari

Jika Anda kebetulan melakukan pemotretan di alam tengah hari, maka Anda mungkin memiliki waktu yang lebih sulit menemukan cahaya yang memiliki arah atau kualitas yang Anda inginkan. Matahari bertumpu tinggi di langit untuk sebagian besar hari itu, berseri lurus ke bawah pada subjek Anda ...

Manfaat Kamera Digital Kompak untuk Fotografi HDR

Manfaat Kamera Digital Kompak untuk Fotografi HDR

(Kadang disebut titik digital - dan - kamera shoot) adalah yang termurah masuk ke fotografi dengan rentang dinamis tinggi. Anda bisa membelinya seharga sekitar $ 100 dan memulai karir Anda tanpa harus mendapatkan hipotek kedua di rumah Anda. Berikut adalah beberapa model yang bisa sesuai dengan tagihan. Nikon Coolpix S220 dan Canon PowerShot A480 ...

HDR hitam-putih: Berwarna dengan Elemen Variasi Warna Alat - dummies

HDR hitam-putih: Berwarna dengan Elemen Variasi Warna Alat - dummies

Salah satu pilihan untuk mewarnai gambar kisaran dinamis hitam-putih tinggi (HDR) di Photoshop Elements adalah dengan menggunakan alat Variasi Warna. Beberapa kontrol tersedia di sini dimana Anda dapat menambah atau mengurangi warna pada daerah nada tertentu. Dengan kata lain, jika Anda ingin meningkatkan warna hijau dalam bayang-bayang, Anda bisa. Kelemahannya adalah bahwa ...

Pilihan Editor

Membangun Swift Outlets and Actions with Xcode - dummies

Membangun Swift Outlets and Actions with Xcode - dummies

Xcode memiliki Interface Builder yang terpasang di dalamnya sehingga Anda dapat merancang antarmuka Anda secara grafis Kunci untuk membuat semuanya bekerja adalah menghubungkan elemen grafis dari Interface Builder ke file Swift Anda. Xcode memudahkan - cukup ikuti langkah berikut: Buka Utama. storyboard Papan cerita utama Anda mungkin memiliki nama yang berbeda; ini ...

Memilih Bagaimana Melaksanakan Fungsi di Swift - dummies

Memilih Bagaimana Melaksanakan Fungsi di Swift - dummies

Saat Anda sedang berpikir untuk membuat sebuah aplikasi, bagaimana caranya? Anda memutuskan bagaimana menerapkan fungsinya? Swift, bersama dengan kerangka Cocoa and Cocoa Touch, menyediakan berbagai macam alat untuk membantu Anda. Berikut adalah daftar beberapa pertanyaan untuk diajukan kepada diri sendiri saat menentukan mana yang akan digunakan: Apakah ini sesuatu yang ...

Memoles Alat Pengembangan Anda untuk Pemasar Kakao - dummies

Memoles Alat Pengembangan Anda untuk Pemasar Kakao - dummies

Kakao adalah salah satu jenis program yang dapat Anda lakukan dengan Apple's Alat pengembang. Kakao adalah kumpulan alat dan perpustakaan yang memungkinkan Anda mendapatkan hasil maksimal dari pemrograman Mac OS X. Banyak fitur membuat Cocoa hebat, termasuk yang berikut: Desain berorientasi objek modular Penggunaan kerangka kerja Desain antarmuka visual Mengapa program dengan ...