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


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

int n1,n2,n3;

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

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

  • 2016년 06월 28일에 작성됨

조회수 492


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 파일 내에서 변수 선언이 가능합니다. 그러나 좋지 않은 방법이니 사용하지 마십쇼.

  • 2016년 06월 29일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close