2013-07-03 1 views
4

Java에서 배열의 해당 객체에 대한 변수 목록을 초기화하는 구문이 있습니까?Java에서 배열을 사용하여 변수 목록을 초기화하는 방법이 있습니까?

String hello, world; 
String[] array = {"hello", "world"}; 

//I want: 
{hello, world} = array; 

//instead of: 
hello = array[0]; 
world = array[1]; 

은 내가 matlab에에서 편리한 구문의 유형을 기억 생각하지만 .. 구문 이런 종류의 내 코드를 정리 도움이 될 자바로 이것을 달성 할 수있는 방법을 발견하지 않았습니다. 특히 나는 여러 인수의 각 배열 멤버 대신 하나의 인수로 함수의 배열을 공급하고 배열 멤버에 대한 명명 된 액세스를 위해 메서드 범위에서 변수를 선언하여 메서드의 코드를 시작하고자합니다. . 예 :

String[] array = {"hello", "world"}; 

method(array); 

void method(array){ 
    String {hello, world} = array; 
    //do stuff on variables hello, world 
} 

감사합니다. -Daniel

+0

대답은 '아니오 : 당신은 두 개의 필드, helloworld로 객체를 표현하기 위해 배열을 사용하고 같은 당신의 구체적인 예에 ​​보인다 때문이다. 변경할 수있는 객체 (문자열이 아닌)와 배열의 선언 된 변수를 전달하여이를 수행하는 메소드를 작성할 수 있습니다. –

+0

무슨 뜻인지 혼란스러워합니다. 배열을 전달하고 배열의 인덱스에 변수를 할당 할 수없는 이유는 무엇입니까? –

+1

@MarcoCorona OP는 그것을하기에 더 좋은 (구문 적으로) 방법에 대해 묻습니다. – feralin

답변

7

아니, 당신이 이미 각 변수를 개별적으로 초기화하는 것입니다 이미 준 대답 이외에 자바에서 할 수있는 방법이 없습니다.

그러나, 당신은 또한 같은 것을 할 수있는 :

String[] array = { "hello", "world" }; 
final int HELLO = 0, WORLD = 1; 

을 다음 array[HELLO] 또는 array[WORLD] 당신이 변수를 사용했을 때마다 사용합니다. 그것은 훌륭한 해결책은 아니지만, 다시 자바는 일반적으로 장황하다.

+0

'enum's를 통해 할 수 있습니까? – NINCOMPOOP

+1

@ 아이비츠 당신은 무엇을 의미합니까? – feralin

+0

감사합니다. 이것은 내 경우에 유용한 해결책이 될 수 있습니다 .. –

0

특히 나는 여러 인수

이것은 당신이 있어야 할 경우 것 같아 대신 배열의 각 멤버의 인수에 함수에 객체 의 배열을 공급하고 싶습니다 배열 대신 객체를 사용합니다.

class Parameters { 
    String hello; 
    String world; 

    public Parameters(String hello, String world) { 
    this.hello = hello; 
    this.world = world; 
    } 
} 

//... 
Parameters params = new Parameters("hello", "world"); 
method(params); 
//... 

void method(Parameters params) { 
    // do stuff with params.hello and params.world 
} 
관련 문제