Rumah >Java >javaTutorial >Bolehkah anda Cipta Nama Pembolehubah secara Dinamik dalam Java?

Bolehkah anda Cipta Nama Pembolehubah secara Dinamik dalam Java?

Linda Hamilton
Linda Hamiltonasal
2024-10-30 22:15:30854semak imbas

Can you Dynamically Create Variable Names in Java?

Penamaan Pembolehubah Dinamik dalam Java

Di Java, adalah tidak mungkin untuk mencipta nama pembolehubah secara dinamik menggunakan nilai String. Konsep ini, yang wujud dalam beberapa bahasa skrip, tidak disokong dalam sistem taip kuat Java.

Sebaliknya, Java menggunakan rujukan pembolehubah untuk mengakses objek. Pendekatan biasa ialah menggunakan Peta, seperti HashMap:

Map<String, Dog> dogMap = new HashMap<>();
dogMap.put("Fido", new Dog("Fido"));
Dog myPet = dogMap.get("Fido");

Ini membolehkan anda mengaitkan kekunci Rentetan (cth., "Fido") dengan objek Anjing. Anda kemudiannya boleh mengakses objek tertentu berdasarkan kekunci String yang sepadan.

Mengenai kebimbangan anda tentang nama objek dinamik, adalah penting untuk diingat bahawa nama pembolehubah dalam Java mewakili rujukan kepada objek, bukan objek sebenar itu sendiri. Selagi anda mempunyai rujukan kepada objek, anda boleh mengaksesnya tanpa mengira nama pembolehubah.

Sebagai contoh, jika anda mempunyai Anjing bernama "Fido" yang dirujuk oleh pembolehubah bernama "myDog," anda boleh tetapkan objek yang sama kepada pembolehubah lain bernama "spot":

Dog myDog = new Dog("Fido");
Dog spot = myDog; // spot and myDog now reference the same object

Untuk memberikan objek pengecam unik, anda boleh mentakrifkan sifat nama dalam kelas itu sendiri:

class Dog {
  private String name;

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

  public String getName() {
    return name;
  }
}

Dengan menggunakan teknik ini, anda boleh mengurus objek dengan nama dinamik dengan berkesan dan mengelakkan pengehadan bahasa skrip dalam hal ini.

Atas ialah kandungan terperinci Bolehkah anda Cipta Nama Pembolehubah secara Dinamik dalam Java?. 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