Java での動的な変数の名前付け
Java では、文字列値を使用して変数名を動的に作成することはできません。一部のスクリプト言語に存在するこの概念は、Java の厳密に型指定されたシステムではサポートされていません。
代わりに、Java は変数参照を利用してオブジェクトにアクセスします。一般的なアプローチは、HashMap:
Map<String, Dog> dogMap = new HashMap<>(); dogMap.put("Fido", new Dog("Fido")); Dog myPet = dogMap.get("Fido");
などの Map を使用することです。これにより、文字列キー (「Fido」など) を Dog オブジェクトに関連付けることができます。その後、対応する String キーに基づいて特定のオブジェクトにアクセスできます。
動的オブジェクト名に関する懸念については、Java の変数名は実際のオブジェクトそのものではなく、オブジェクトへの参照を表すことを覚えておくことが重要です。オブジェクトへの参照がある限り、変数名に関係なくアクセスできます。
たとえば、「myDog」という名前の変数によって参照される「Fido」という名前の犬がある場合、次のようにすることができます。同じオブジェクトを「spot」という名前の別の変数に割り当てます:
Dog myDog = new Dog("Fido"); Dog spot = myDog; // spot and myDog now reference the same object
オブジェクトに一意の識別子を与えるには、クラス自体内で name プロパティを定義できます:
class Dog { private String name; public Dog(String name) { this.name = name; } public String getName() { return name; } }
これらのテクニックを使用すると、動的な名前を持つオブジェクトを効果的に管理し、この点でのスクリプト言語の制限を回避できます。
以上がJava で変数名を動的に作成できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。