Rumah >Java >javaTutorial >Operasi Java I/O - Kelas Pembungkus dan Pembolehubah Kelas Primitif

Operasi Java I/O - Kelas Pembungkus dan Pembolehubah Kelas Primitif

PHPz
PHPzke hadapan
2023-09-14 10:45:03868semak imbas

Java I/O 操作 - 包装类与原始类变量

Operasi Java Input/Output (I/O) memainkan peranan penting dalam mengendalikan pelbagai jenis data, membolehkan kami membaca dan menulis daripada sumber yang berbeza seperti fail, sambungan rangkaian dan aliran input/output standard. Apabila mengendalikan input dan output dalam Java, kami menemui situasi di mana kami perlu mengendalikan data primitif dan data jenis objek. Java menyediakan dua pilihan untuk memudahkan ini: kelas pembalut atau gunakan pembolehubah kelas mentah secara langsung.

Tutorial ini akan memperkenalkan kami kepada kelas pembalut dan jenis data primitif. Setiap kaedah ini mempunyai kelebihan dan kaveatnya, yang akan kami teliti untuk membantu anda membuat keputusan termaklum mengenai operasi Java I/O.

Jenis data primitif

Jenis data primitif, seperti "int", "float", "boolean" dan "char", mewakili blok binaan asas data dalam Java. Mereka bukan objek dan tidak mempunyai fungsi atau kaedah tambahan seperti kelas pembalut. Apabila menggunakan jenis data primitif dalam operasi I/O, anda boleh beroperasi secara langsung pada nilai primitif.

Jenis data primitif mempunyai nilai lalai yang ditetapkan berdasarkan jenisnya. Sebagai contoh, pembolehubah "int", "bait" dan "pendek" diberikan nilai lalai 0, pembolehubah "float" dan "double" diberikan nilai lalai 0.0 dan pembolehubah Boolean diberikan nilai lalai palsu. Nilai lalai untuk jenis data primitif char ialah aksara Unicode dengan nilai 'u0000'. Ia mewakili aksara nol, iaitu aksara yang tidak boleh dicetak.

Berikut ialah beberapa aspek utama yang perlu dipertimbangkan apabila menggunakan jenis data primitif untuk operasi I/O -

Nota Prestasi

Jenis data primitif memberikan prestasi yang lebih baik berbanding dengan kelas pembalut. Mereka mempunyai jejak memori yang lebih kecil dan memerlukan lebih sedikit sumber untuk menyimpan dan memanipulasi data.

Manipulasi data langsung

Jenis data primitif membolehkan anda bekerja dengan nilai primitif secara langsung, yang berguna apabila anda memerlukan kawalan terperinci ke atas data anda. Anda boleh melakukan operasi matematik, operasi bitwise dan operasi peringkat rendah lain tanpa overhed operasi berorientasikan objek.

Keterbatasan fungsi

Tidak seperti kelas pembalut, jenis data primitif tidak menyediakan kaedah utiliti untuk operasi seperti penukaran nombor atau pemformatan. Apabila bekerja dengan jenis primitif, anda mungkin perlu melaksanakan fungsi tersebut secara manual atau bergantung pada kaedah pembantu daripada perpustakaan lain.

Pembungkusan

Kelas pembungkus dalam Java seperti "Integer", "Float", "Boolean" dan "Character" menyediakan fungsi berorientasikan objek untuk bekerja dengan jenis data primitif. Mereka membenarkan anda merawat jenis primitif sebagai objek dan menyediakan kaedah dan operasi tambahan yang tidak tersedia dengan jenis data primitif individu.

Apabila tiada nilai diberikan secara eksplisit, kelas pembalut akan dimulakan dengan nilai lalai "null" kerana ia adalah objek. Berikut ialah beberapa aspek utama yang perlu dipertimbangkan apabila menggunakan kelas pembalut untuk operasi I/O -

Membungkus dan Membuka Kotak

Kelas wrapper memudahkan proses penukaran antara jenis asas dan objek melalui tinju dan nyahboxing. Tinju melibatkan pembungkusan nilai asal dalam objek kelas pembungkusnya yang sepadan, manakala penyahkotak mengekstrak nilai asal daripada objek pembungkus. Ini membolehkan anda menggunakan jenis primitif dalam operasi I/O yang memerlukan objek.

Kaedah praktikal

Kelas pembungkus menyediakan kaedah utiliti untuk pelbagai operasi pada jenis primitif yang sepadan. Sebagai contoh, kelas Integer menyediakan kaedah untuk menukar rentetan kepada integer, melaksanakan operasi matematik dan memanipulasi format nombor.

Saling kendali dengan generik dan koleksi

Kelas pembalut memainkan peranan penting dalam senario yang melibatkan generik dan koleksi. Memandangkan generik dalam Java hanya menerima jenis rujukan, menggunakan kelas pembalut membolehkan anda menggunakan jenis primitif dalam kelas dan koleksi generik. Ini membolehkan anda memanfaatkan kuasa generik apabila mengendalikan pelbagai jenis data dalam operasi I/O.

Kelas pembungkus untuk jenis data primitif

Kelas pembungkus di Java menyediakan cara untuk menukar antara jenis data primitif dan objek yang sepadan. Penukaran ini (dipanggil unboxing) membenarkan pertukaran lancar dan membenarkan akses kepada nilai asal dalam objek kelas yang dibalut.

Contoh

Dalam kod contoh, autoboxing digunakan untuk menetapkan nilai 3.14 kepada objek kelas pembalut "Double", manakala unboxing menukar objek wrapper kembali kepada "double" asal.

public class Main {
   public static void main(String[] args) {
      // Autoboxing: wrapper class value
      Double wrapperValue = 3.14;         
      // Unboxing: conversion to double
      double primitiveValue = wrapperValue;         
      System.out.println("Primitive Value: " + primitiveValue);
   }
}

Output

Primitive Value: 3.14

Jenis data primitif kepada kelas pembalut

Java membenarkan penukaran daripada jenis data primitif kepada kelas pembalut yang sepadan, dipanggil autoboxing. Penukaran automatik ini memudahkan kod dengan memberikan nilai primitif terus kepada objek kelas pembalut, dengan itu memudahkan operasi yang memerlukan objek dan bukannya primitif.

Contoh

Dalam kod contoh, nilai primitif boolean "true" diberikan kepada "primitiveValue". Nilai mentah ini kemudiannya ditukar kepada objek kelas pembalut "boolean" "WrapperValue" menggunakan autoboxing.

public class Main {
   public static void main(String[] args) {
      // Primitive data type value
      boolean primitiveValue = true;         
      // Autoboxing: conversion to Boolean
      Boolean wrapperValue = Boolean.valueOf(primitiveValue);         
      System.out.println("Wrapper Value: " + wrapperValue);
   }
}

输出

Wrapper Value: true

结论

总之,在使用 Java I/O 操作时有两种选择:使用包装类或直接使用原始数据类型。两种方法都有其优点和考虑因素。使用原始数据类型时,您可以直接使用原始值,这提供了更好的性能、直接的数据操作和更小的内存占用。另一方面,包装类提供了用于处理原始数据类型的面向对象的功能。最终,包装类和原始数据类型之间的选择取决于您的要求和性能考虑。

Atas ialah kandungan terperinci Operasi Java I/O - Kelas Pembungkus dan Pembolehubah Kelas Primitif. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam