2013-08-11 3 views
7

:'문자열 ...'은 무엇을 의미합니까? 코드에서

String... pricingTypes 

무엇을 의미합니까? 어떤 유형의 구조입니까?

+0

[Varargs] (http://docs.oracle.com/javase/1.5.0/docs/guide/language/varargs.html) –

+0

[arguments tutorial] (http://docs.oracle.com)을 확인하십시오. /javase/tutorial/java/javaOO/arguments.html). –

답변

5

varargs라고합니다. 서명에 마지막 인수가있는 한 모든 유형에서 작동합니다.

기본적으로 모든 수의 매개 변수가 배열에 저장됩니다. 이것은 배열과 동일하다는 것을 의미하지 않습니다. 보이는

하는 방법

void foo(int bar, Socket baz...) 

(이 예에서) 소켓의 배열을 뜻 바즈 불렀다.

foo(32, sSock.accept(), new Socket())을 호출하면 두 개의 Socket 객체가있는 배열을 찾을 수 있습니다.

foo(32, mySocketArray)로 호출 것이다 유형으로하지 작업은 배열을 구성 하지입니다. 그러나 서명이 varargs 배열 인 경우 하나 이상의 배열을 전달하고 2 차원 배열을 얻을 수 있습니다. 예를 들어, void bar(int bar, PrintStream[] baz...)은 PrintStream의 여러 배열을 취하여 단일 PrintStream[][]에 고정시킬 수 있습니다.

이상하게도 배열이 객체라는 사실로 인해 Object... foo은 여러 배열을 가질 수 있습니다.