새 배열을 메서드로 전달할 수 있으며 여전히 해당 배열에 데이터가 있습니까?Java 배열을 매개 변수로 사용
예를 들어,이 방법은 foo(String[])
이고이 번호는 foo(new String[] s = {"String1", "String2"})
입니다. 하지만 그건 유효한 Java가 아닙니다.
새 배열을 메서드로 전달할 수 있으며 여전히 해당 배열에 데이터가 있습니까?Java 배열을 매개 변수로 사용
예를 들어,이 방법은 foo(String[])
이고이 번호는 foo(new String[] s = {"String1", "String2"})
입니다. 하지만 그건 유효한 Java가 아닙니다.
이 (이것은 컴파일에서와 같이 당신이 원하는 것을)는 "유효한 자바 방법"입니다 :
다음foo(new String[] {"String1", "String2"});
이 방법을 변경할 수있는 기회가 있다면, 또한 다음 유효 다음
foo("String1", "String2");
: 명시 적으로 배열을 생성하기 위해 다음과 같이
public void foo(String... strings) {
// ...
}
그런 다음 당신이 필요없이 사용할 수 있습니다 : 당신은 또한 varargs 인수를하는 방법을 변경 고려할 수 있습니다 :
foo("String1");
및
foo("String1", "String2", "String3");
,
이상.
로컬 변수 s
을 만들고 계속 유지하려는 경우, 메소드 호출 내에서 변수를 선언 할 수 없습니다.
String[] s = {"String1", "String2"};
foo(s);
당신은 호출 내에서 s
를 초기화 할 수 있지만, 나는 그렇게 할 이유가 표시되지 않습니다, 플러스 정말 나쁜 같습니다 : 당신은 전화의 외부 먼저 선언해야
String[] s;
foo(s = new String[] {"String1", "String2"});
만 값을 전달하려는 더 이상 변수 s
이 필요하지 않은 경우,이처럼 수행
foo(new String[] {"String1", "String2"});
당신은 변수를 선언 할 수는 없지만 배열을 전달할 수 있습니다
를foo(new String[] { "String1", "String2" });
같은 배열을 나중에 참조하려면 호출하기 전에 선언해야합니다.
foo (new String [] { "String1", "String2"})
어떻게하면 vaue를 얻을 수 있습니까? –