Rumah > Java > javaTutorial > teks badan

Bolehkah Saya Mencipta Nama Pembolehubah secara Dinamik dalam Java Menggunakan Nilai Rentetan?

Patricia Arquette
Lepaskan: 2024-11-03 10:40:29
asal
531 orang telah melayarinya

Can I Dynamically Create Variable Names in Java Using a String Value?

Menggunakan Nilai Rentetan untuk Mencipta Nama Pembolehubah

S: Adakah mungkin untuk menggunakan nilai Rentetan untuk mencipta nama pembolehubah secara dinamik dalam Java?

Sebagai contoh, diberikan kod berikut:

<code class="java">String name = "dog";
dog name = new dog();</code>
Salin selepas log masuk

Bagaimanakah seseorang boleh mengarahkan Java untuk mentafsir "nama" sebagai String dan menetapkannya kepada objek "anjing" yang baru dibuat?

J: Walaupun sesetengah bahasa skrip seperti PHP membenarkan kelakuan sedemikian, Java tidak. Di Java, nama pembolehubah adalah berbeza daripada rujukan pembolehubah, yang menyediakan akses kepada objek tertentu.

Salah satu cara untuk mencapai kefungsian yang diingini ialah menggunakan Peta untuk mengaitkan Strings dengan objek. Contohnya:

<code class="java">Map<String, Dog> dogMap = new HashMap<>();
dogMap.put("Fido", new Dog("Fido"));

Dog myPet = dogMap.get("Fido");</code>
Salin selepas log masuk

Sebagai alternatif, terdapat banyak cara lain untuk mendapatkan rujukan kepada objek, seperti tatasusunan, ArrayLists, LinkedLists dan koleksi lain.

Penjelasan Lanjut:

Jika matlamatnya adalah untuk mencipta objek secara dinamik dengan nama arbitrari yang berterusan di luar penciptaannya, adalah penting untuk memahami bahawa nama pembolehubah tidak sinonim dengan "nama objek." Kedua-dua pembolehubah, "fido" dan "spot," akan menyimpan rujukan kepada objek yang sama, walaupun nama mereka berbeza.

<code class="java">Dog fido = new Dog;
Dog spot = fido; // now fido and spot refer to the same object</code>
Salin selepas log masuk

Untuk menetapkan "nama" pada setiap objek, pertimbangkan untuk menambah sifat "nama" kepada kelas.

<code class="java">class Dog {
   private String name;

   public Dog(String name) {
      this.name = name;
   }

   public String getName() {
      return name;
   }
}</code>
Salin selepas log masuk

Ini membolehkan setiap objek Anjing mempunyai nama uniknya sendiri.

Atas ialah kandungan terperinci Bolehkah Saya Mencipta Nama Pembolehubah secara Dinamik dalam Java Menggunakan Nilai Rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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 terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!