High Fashioners Issue # 2 | Página 352

J. E. N. I.
instantiasi dari tipe generic yang melekat pada batas yang kita miliki.
Sejak kita yakin bahwa setiap tipe instantiasi adalah sebuah subclass dari batas yang dimiliki, kita dapat memanggil beberapa method secara aman yang ditemukan dalam objek static tipe. Jika kita belum menempatkan beberapa batas eksplisit pada parameternya, default batas adalah Object. Ini berarti bahwa kita tidak dapat menjalankan method pada sebuah instance dari batas yang tidak ditampilkan dalam class Object.
13.5 Mendeklarasikan sebuah Method Generic
Disamping mendeklarasikan sebuah class generic, Java juga memberi kita perlakuan khusus untuk mendeklarasikan sebuah method generic. ini disebut dengan method polymorphic, yang mana didefinisikan menjadi method yang diberi nilai parameter berupa tipe.
method parameterisasi sangat membantu kita kita ingin untuk menampilkan tugas dimana ketergantungan tipe antara argument dan nilai pengembalian aslinya merupakan generic, tapi generic sebenarnya tidak mempercayakan pada beberapa tipe level class informasi dan akan merubah dari method call ke method call.
Sebagai contoh, Andaikata kita menginginkan untuk menambahkan sebuah method make untuk sebuah class ArrayList. Method static ini akan diambil dalam sebuah argument tunggal, yang mana akan menjadi satu-satunya elemen dari object ArrayList. Untuk membuat generic ArrayList kita, sebagai penampung beberapa tipe elemen, argumen tunggal dalam method make harus memiliki sebuah tipe generic sebagai sebuah argumen dan sebagai sebuah tipe nilai kembalian.
Untuk mendeklarasikan tipe generic pada level method, pertimbangkan contoh berikut ini: class Utilities { /* T secara implisit extends terhadap Object */ public static < T > ArrayList < T > make( T first) { return new ArrayList < T >( first);
}
}
Java juga menggunakan sebuah mekanisme type-inference untuk secara otomatis menyimpulkan tipe method polymorphic berdasarkan pada tipe-tipe argumennya. Ini mengurangi panjang dan kompleksitas dari sebuah alur untuk menjalankan suatu method.
Untuk membangun sebuah instance baru dari ArrayList < Integer >, kita mempunyai cara yang cukup sederhana yaitu pernyataan berikut:
Utilities. make( Integer( 0));
Pengenalan Pemrograman 2 6