Java(자바) 에서 동적 변수 처리 해 보자.

2020. 5. 27. 21:14JAVA

728x90
반응형

javascript에서 eval을 이용하여 변수명을 동적으로 생성하여 값을 가져오거나 세팅하는 것을 java로 구현 해 보았습니다.

구글링 하면 좋은 예제가 있을꺼라 생각되지만 간단하게 만들어 보았습니다.

 

package kr.co.test;

import java.lang.reflect.Field;

public class Test3 {
public String s1;
public String s2;

public static void main(String[] args) {
    try {
        //결과를 담을 객체
        Test3 test3 = new Test3();
        System.out.println("s1 = " + test3.s1);
        System.out.println("s2 = " + test3.s2);

        //set 할 값
        String tmp[] = {"Hello", "World"};

        //reflect 할 class
        Class cls = Class.forName("kr.co.test.Test3");

        for (int i=1; i<=2; i++) {
            //동적으로 필드를 하나씩 가져온다.
            Field fld = cls.getField("s" + i);
            //필드에 값을 세팅한다.
            fld.set(test3, tmp[i-1]);
        }

        //결과값
        System.out.println("s1 = " + test3.s1);
        System.out.println("s2 = " + test3.s2);

        } catch (Throwable e) {
            System.err.println(e);
        }
    }
}

 

2023.04.16 - [JAVA] - Java(자바) 에서 동적 변수 처리하는 다른 방법들

 

Java(자바) 에서 동적 변수 처리하는 다른 방법들

자바는 정적 타입 언어이기 때문에 변수의 타입이 선언 시점에 결정됩니다. 그러나 동적 변수 처리를 위해 자바에서 제공하는 클래스를 이용하거나, Reflection API를 사용하여 동적으로 변수를 생

happyitpark.tistory.com

 

 

 

728x90
반응형