>  기사  >  Java  >  문자열 값을 사용하여 Java에서 변수 이름을 동적으로 생성할 수 있습니까?

문자열 값을 사용하여 Java에서 변수 이름을 동적으로 생성할 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-03 10:40:29532검색

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

문자열 값을 사용하여 변수 이름 만들기

Q: 문자열 값을 사용하여 변수 이름을 동적으로 만들 수 있습니까? Java?

예를 들어 다음 코드가 주어진 경우:

<code class="java">String name = "dog";
dog name = new dog();</code>

Java에게 "name"을 문자열로 해석하고 이를 새로 생성된 "dog" 개체에 할당하도록 어떻게 지시할 수 있습니까?

답: PHP와 같은 일부 스크립트 언어는 이러한 동작을 허용하지만 Java는 그렇지 않습니다. Java에서 변수 이름은 특정 개체에 대한 액세스를 제공하는 변수 참조와 다릅니다.

원하는 기능을 달성하는 한 가지 방법은 맵을 활용하여 문자열을 개체와 연결하는 것입니다. 예를 들면 다음과 같습니다.

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

Dog myPet = dogMap.get("Fido");</code>

또는 배열, ArrayList, LinkedList 및 기타 컬렉션과 같은 객체에 대한 참조를 얻는 다양한 방법이 있습니다.

추가 설명:

생성 이후에도 지속되는 임의의 이름으로 객체를 동적으로 생성하는 것이 목표라면 변수 이름이 "객체 이름"과 동의어가 아니라는 점을 이해하는 것이 중요합니다. "fido"와 "spot" 변수 모두 이름은 다르지만 동일한 개체에 대한 참조를 보유합니다.

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

각 개체에 "이름"을 할당하려면 "이름" 속성을 추가하는 것이 좋습니다.

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

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

   public String getName() {
      return name;
   }
}</code>

이를 통해 각 Dog 객체는 고유한 이름을 가질 수 있습니다.

위 내용은 문자열 값을 사용하여 Java에서 변수 이름을 동적으로 생성할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.