Pass by Reference for Primitives in Java
Java menggunakan nilai pass by, tidak seperti C , yang menggunakan pass by reference. Ini boleh mencipta senario di mana mengubah suai jenis data primitif (cth., int, float) dalam kaedah tidak menjejaskan nilainya di luar kaedah.
Pertimbangkan kod Java ini:
public class XYZ { public static void main() { int toyNumber = 5; XYZ temp = new XYZ(); temp.play(toyNumber); System.out.println("Toy number in main " + toyNumber); } void play(int toyNumber) { System.out.println("Toy number in play " + toyNumber); toyNumber++; System.out.println("Toy number in play after increment " + toyNumber); } }
Kod ini mencetak:
Toy number in play 5 Toy number in play after increment 6 Toy number in main 5
Pembolehubah toyNumber tidak diubah suai di luar kaedah play() kerana ia diluluskan oleh nilai.
Alternatif untuk Dilalui melalui Rujukan dalam Java:
Untuk meniru C lulus melalui rujukan dalam Java untuk primitif, beberapa pilihan tersedia:
1. Pembolehubah Ahli Awam:
Buat kelas dengan pembolehubah ahli awam untuk toyNumber dan hantar rujukan kepada kelas.
class MyToy { public int toyNumber; }
void play(MyToy toy) { System.out.println("Toy number in play " + toy.toyNumber); toy.toyNumber++; System.out.println("Toy number in play after increment " + toy.toyNumber); }
2. Nilai Pulangan:
Daripada lulus melalui rujukan, pulangkan nilai yang diubah suai daripada kaedah.
int play(int toyNumber) { System.out.println("Toy number in play " + toyNumber); toyNumber++; System.out.println("Toy number in play after increment " + toyNumber); return toyNumber; }
Dalam kaedah utama, kemas kini toyNumber menggunakan nilai yang dikembalikan.
3. Pembolehubah Kelas/Statik:
Jika kaedah play() dan main() adalah sebahagian daripada kelas yang sama, tukarkan toyNumber kepada pembolehubah ahli kelas.
4. Tatasusunan Satu Elemen:
Ini ialah penggodaman tetapi memerlukan menghantar tatasusunan elemen tunggal dan mengubah suai nilainya.
void play(int[] toyNumber) { System.out.println("Toy number in play " + toyNumber[0]); toyNumber[0]++; System.out.println("Toy number in play after increment " + toyNumber[0]); }
Atas ialah kandungan terperinci Adakah Java Pass Primitives melalui Rujukan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa