자바에서 변수에 동적 이름 할당하기

자바에서 여러 개의 변수에 다음과 같이 값을 할당하고 싶어요.

int n1,n2,n3;

for(int i=1;i<4;i++)
{
    n<i> = 5;
}

자바에서 어떻게 할 수 있죠?

1답변

  • 좋아요

    0

    싫어요
    채택취소하기

    작성하신 코드는 자바에서 작업하신 것 같지 않네요. 자바에는 동적변수가 존재하지 않습니다. 자바에서의 변수는 반드시 소스 코드상에서(*) 선언되어야 합니다.

    질문자님께서 원하는 작업을 처리하려면 List 혹은 Map을 사용하셔야 합니다. 예를 들자면 이렇게요.

    int n[] = new int[3];
    for (int i = 0; i < 3; i++) {
        n[i] = 5;
    }
    
    List<Integer> n = new ArrayList<Integer>();
    for (int i = 1; i < 4; i++) {
        n.add(5);
    }
    
    Map<String, Integer> n = new HashMap<String, Integer>();
    for (int i = 1; i < 4; i++) {
        n.put("n" + i, 5);
    }
    

    *-위 설명이 약간 잘못되었네요. BCEL 이나 ASM을 사용하신다면 bytecode 파일 내에서 변수 선언이 가능합니다. 그러나 좋지 않은 방법이니 사용하지 마십쇼.

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.