Rumah  >  Artikel  >  Java  >  Kelas Pembungkus di Jawa

Kelas Pembungkus di Jawa

王林
王林asal
2024-08-30 16:00:11701semak imbas

Kelas Pembungkus ialah kelas penting perpustakaan java.lang. Objek kelas pembungkus mencipta pembungkus untuk jenis data primitif. Semasa mencipta objek kelas pembalut, ruang dicipta dalam memori tempat jenis data primitif disimpan. Kelas pembungkus menyediakan beberapa ciri untuk penukaran objek kepada data primitif & data primitif kepada objek, iaitu bertinju/menyahkotak. Penukaran daripada objek kepada data primitif & data primitif kepada objek berlaku secara automatik. Jenis data primitif merujuk kepada int, float, char, double, byte, dll.

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Sintaks: 

Pengisytiharan yang diberikan di bawah menunjukkan cara kelas Wrapper berfungsi dalam program java.

Contoh:

int i = 100;

Dalam contoh yang diberikan di bawah, kita dapat melihat i ialah jenis data integer. Kadang-kadang dalam integer java perlu diluluskan sebagai jenis objek. Dalam kes ini, kita boleh menggunakan kelas pembalut untuk menukar integer kepada objek.

Kod:

Integer intVal = new Integer(i);

Dalam sintaks yang diberikan di atas, kita dapat melihat cara jenis data primitif ditukar kepada objek menggunakan objek kelas Integer. Selain itu, kita boleh katakan jenis data primitif dibalut sebagai objek.

Penggunaan Kelas Pembungkus di Java

Di bawah adalah beberapa kegunaan kelas pembalut:

  • Kelas Pembungkus boleh digunakan untuk menukar objek kepada jenis data primitif atau sebaliknya.
  • Penggunaan kelas pembalut meningkatkan prestasi program.
  • Kelas pembungkus membantu dalam penyirian objek & sebaliknya. Ia boleh menukar data primitif kepada objek. Kadang-kadang kita perlu menstrim objek; dalam kes itu, kelas pembalut boleh menukarnya kepada format bersiri.
  • Beberapa kaedah penting disediakan oleh kelas pembalut, yang digunakan untuk melakukan pencarian & pengisihan dalam koleksi.
  • Penolakan & penambahan, jenis operasi ini tidak boleh mengubah suai nilai lama integer primitif kelas Wrapper; itulah sebabnya kelas Wrapper dikenali sebagai tidak boleh diubah.
  • Kelas wrapper digunakan dalam proses multithreading, kerana proses multithreading memerlukan objek untuk menyegerakkan proses. Kelas pembalut menukarkan jenis data yang berbeza kepada objek.

Berdasarkan JavaAPI, hierarki kelas Wrapper mengekalkan Object di bahagian atas kelas primitif yang berbeza. Nombor, Watak & Boolean datang pada tahap kedua sejurus selepas Objek. Byte, Short, Int, Long, Float, Double berada di bawah jenis data Nombor pada tahap ketiga.

Kelas wrapper menggunakan dua mekanisme Autoboxing & unboxing berikut, untuk penukaran/pembungkusan jenis data atau penukaran objek kepada jenis data primitif.

  • Autoboxing: Autoboxing merujuk kepada penukaran automatik jenis data primitif kepada objek menggunakan kelas Wrapper. Ia dikenali sebagai Autoboxing. Dalam Contoh yang diberikan di bawah, int ditukar kepada objek Integer & dalam contoh c, jenis data primitif yang berbeza sedang ditukar kepada objek yang sepadan.
  • Nyah kotak: Nyah kotak ialah proses terbalik Autoboxing. Menukar objek kelas pembalut secara automatik kepada jenis data primitif yang sepadan dikenali sebagai Unboxing. Dalam contoh b yang diberikan di bawah, objek Integer sedang ditukar kepada jenis data primitif int.

Contoh Kelas Pembungkus dalam Java

Di bawah ialah contoh berbeza Kelas Pembungkus dalam Java:

Contoh #1

Dalam contoh yang diberikan di bawah, kita dapat melihat cara penukaran manual berlaku melalui kelas pembalut daripada int i kepada objek k.

Kod:

import java.util.*;
class WrapperExample {
public static void main(String args[]){
int j=100;
//converting int j to integer k as an object
Integer k = new Integer(j);
System.out.println(j + "\n" + k);
}
}

Output:

Kelas Pembungkus di Jawa

Dalam contoh yang diberikan di atas, kita dapat melihat cara penukaran berlaku secara eksplisit.

Contoh #2

Dalam contoh yang diberikan di bawah, kita dapat melihat proses penukaran ini kadangkala berlaku secara automatik, iaitu dikenali sebagai autoboxing.

Kod:

import java.util.*;
class AutoboxingUnboxingExample {
public static void main(String args[]){
int j = 500;
ArrayList<Integer> arrValues = new ArrayList();
arrValues.add(j);  // autoboxing takes place implicitly
System.out.println(arrValues.get(0));
}
}

Output:

Kelas Pembungkus di Jawa

Dalam contoh yang diberikan di atas, nilai int ditukar kepada objek secara tersirat sebagai objek. Selanjutnya, nilai ini boleh diperolehi daripada ArrayList.

Contoh #3

Dalam contoh ini, kita akan melalui pelaksanaan Unboxing. Nyahboxing ialah proses terbalik Autoboxing.

Kod:

import java.util.*;
class AutoboxingUnboxingExample {
public static void main(String args[]){
ArrayList<Integer> arrValues = new ArrayList();
arrValues.add(250);
//unboxing here as int data type from Integer object
int k = arrValues.get(0);
//value printed is in primitive data type
System.out.println(k);
}
}

Output:

Kelas Pembungkus di Jawa

Dalam contoh yang diberikan di atas, medan objek ArrayList ditukar kepada k jenis data primitif, iaitu int k.

Example #4

The following given example have all the details of Autoboxing & Unboxing.

Code:

import java.util.*;
class WrapperConversionExample {
public static void main(String args[]){
int i = 15;
float j = 9.6f;
double k = 120.8;
byte l = 1;
//creating instance of Integer object
Integer iObj = new Integer(i);
//creating instance of Float object
Float fObj = new Float(j);
//creating instance of Double object
Double dObj = new Double(k);
//creating instance of Double object
Byte bObj = new Byte(l);
//value printed is in object
System.out.println("Value as an Integer object > " + iObj);
System.out.println("Value as a Float object > " + fObj);
System.out.println("Value as a Double object > " + dObj);
System.out.println("Value as a Byte object > " + bObj);
//primitive data type from the object
int m = iObj;
float n = fObj;
double o = dObj;
byte p = bObj;
//value printed is in primitive data type
System.out.println("Value as an int primitive type > " + m);
System.out.println("Value as a float primitive type > " + n);
System.out.println("Value as a double primitive type > "+ o);
System.out.println("Value as a byte primitive type > " + p);
}
}

Output:

Kelas Pembungkus di Jawa

In the above-given program, we can see the implementation of Wrapper classes. Wrapper classes are converting the primitive data type to object & object to the primitive data type. The wrapper class provides separate classes for each primitive data type.

Conclusion

Through the Wrapper classes, we can easily understand autoboxing & unboxing how conversion takes place from primitive to object & its vice versa, which can be easily understood through Wrapper classes. For each of the primitive data types, there is a dedicated class in java.

Atas ialah kandungan terperinci Kelas Pembungkus di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Kelas Singleton di JawaArtikel seterusnya:Kelas Singleton di Jawa