Apa itu AutoBoxing dan unboxing di Java?



Artikel ini akan memberi Anda pendekatan komprehensif terhadap Autoboxing di Java bersama dengan beberapa contoh untuk pemahaman yang lebih baik.

Sebagian besar waktu kami menggunakan tipe data primitif saat menulis program dalam bahasa apa pun. Tetapi ada situasi di mana tipe data primitif gagal di ranah dan adalah salah satunya. Untuk mengatasi kekurangan dalam tipe data Primitive, kami menggunakan pembungkus . Prosedur ini disebut Autoboxing. Kami akan membahas Autoboxing mendetail di Java melalui map di bawah ini:

Mari kita mulai.





Apa itu Boxing dan Autoboxing di Java?

Boxing dan Autoboxing sering digunakan untuk merujuk pada konsep yang sama. Namun kenyataannya, keduanya tidak persis sama. Mari kita bahas konsep tinju. Apa itu tinju? Kedengarannya kita menyimpan sesuatu di dalam kotak, kan? Ya, ketika kita mengatakan kita mengotak atau membungkus tipe data primitif itu berarti kita membungkusnya untuk membentuk suatu objek. Masih bingung? Mari kita ambil contoh.

int FirstNumber = 1

Variabel 'FirstNumber' berjenis int yaitu a . Sekarang, bagaimana jika saya ingin mengubah variabel 'FirstNumber' menjadi sebuah objek? Java menyediakan cara untuk melakukan itu.



Integer SecondNumber = new Integer (2)

Perhatikan bahwa 'SecondNumber' bukan bertipe int tetapi merupakan objek bertipe Integer. Proses mengubah tipe data primitif menjadi objek disebut tinju. Anda mungkin bertanya bagaimana ini mungkin? Mari pikirkan tentang cara termudah untuk menyelesaikan tugas ini. Kami dapat membuat file kelas berisi atribut tunggal bertipe int, konstruktor yang mengambil nilai tipe int dan menugaskannya ke atribut kelas kita, dan beberapa metode untuk memanipulasi nilai int ini. Untuk mengetahui lebih lanjut tentang itu lihat ini dokumen .

Kami melihat bagaimana tipe int dapat diubah menjadi Java. Apakah ada cara untuk mengubah tipe data primitif lainnya menjadi objek? Ya, Java punya kelas pembungkus untuk tipe data primitif yang berbeda. Kami akan memeriksanya di bagian selanjutnya dari posting ini.

Autoboxing

Pada titik ini, kita tahu apa itu tinju. Sekarang mari kita pahami apa itu Autoboxing. bila proses boxing dilakukan oleh compiler tanpa disebutkan secara eksplisit, disebut autoboxing.



Mari kita pahami ini dengan contoh:

deskripsi pekerjaan pengembang data besar

import java.util.ArrayList import java.util.Listclass Box {public static void main (String [] args) {List Mylist = new ArrayList () for (int i = 0 i<10 i++) Mylist.add(i) } }

Seperti yang kita bahas sebelumnya hanya menerima objek dan tipe data primitif tidak berfungsi. Dalam program di atas, kami tidak mengonversi objek bertipe Integer tetap program dijalankan tanpa kesalahan. Bagaimana? Jawaban atas pertanyaan ini adalah, kompilator secara otomatis melakukan proses tinju sebelum menambahkan nilai ke 'Daftar Saya' sehingga dinamai Autoboxing.

Mylist.add (Integer.valueOf (i))

Baris kode di atas ditambahkan ke dalam program kita oleh kompilator.

Catatan- Pada baris di atas nama kelas kode'Integer 'disebutkan sebelum metode valueOf () karena valueOf () adalah metode statis. Untuk lebih banyak contoh, lihat dokumen .

Unboxing dan Autounboxing

Kami melihat caranya dari tipe data primitif diubah menjadi objek. Tapi ini baru setengah dari cerita. Separuh cerita lainnya adalah mengubah sebuah objek dari kelas pembungkus tipe ke tipe data primitifnya disebut membuka kemasan .

Sebagai contoh-

Integer FirstNumber = new Integer (1) int SecondNumber = FirstNumber.intValue () System.out.println (SecondNumber)

Keluaran- 1

Autounboxing- Ketika proses unboxing dilakukan oleh compiler tanpa menyebutkan secara eksplisit disebut Autounboxing.

Sebagai contoh-

Bilangan Integer = bilangan bulat baru (20) int num = Bilangan

Kode di atas adalah contoh dari Autounboxing. Pada bagian selanjutnya, kita akan belajar tentang kelas pembungkus.

Kelas Pembungkus

Kami dikonversi dalam variabel tipe intl tipe objek Integer. Kelas integer ini adalah kelas pembungkus. Di Java, kelas pembungkus tersedia untuk masing-masing . Kelas pembungkus ini membantu kita dalam mengonversi variabel dari tipe primitif ke objek tipe kelas pembungkus masing-masing. Metode kelas pembungkus berguna dalam memanipulasi nilai.

Tabel di bawah memberi tahu kita tentang tipe data primitif dan kelas pembungkusnya masing-masing.

Jenis Primitif Kelas Pembungkus

boolean

mengubah objek menjadi array php

Boolean

selamat tinggal

Byte

arang

Karakter

mengapung

Mengapung

int

Bilangan bulat

panjang

Panjang

pendek

Pendek

dua kali lipat

Dua kali lipat

Perhatikan kapitalisasi di kelas Wrapper.

Oleh karena itu, kami telah mengakhiri artikel ini tentang 'Autoboxing di Java'. Jika Anda ingin mempelajari lebih lanjut, lihat oleh Edureka, perusahaan pembelajaran online terpercaya. Kursus pelatihan dan sertifikasi Java J2EE dan SOA dari Edureka dirancang untuk melatih Anda baik konsep inti dan lanjutan Java bersama dengan berbagai kerangka kerja Java seperti Hibernate & Spring.

Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar blog ini 'autoboxing in Java' dan kami akan menghubungi Anda kembali secepatnya.