다음 코드는가변 매개 변수 클래스?
public static void main(String[] args) {
fun(new Integer(1));
}
static void fun(Object ... a) {
System.out.println(a.getClass());
}
출력을 제공합니다. -
class [Ljava.lang.Object;
어떤 클래스입니까?
다음 코드는가변 매개 변수 클래스?
public static void main(String[] args) {
fun(new Integer(1));
}
static void fun(Object ... a) {
System.out.println(a.getClass());
}
출력을 제공합니다. -
class [Ljava.lang.Object;
어떤 클래스입니까?
Object[]
어레이.
a.getClass().isArray() -> true
a.getClass().getComponentType().getName() -> java.lang.Object
가 the JVM specifications에있어서 그것이 java.lang.Object 상위의 단순히 배열 :
런타임 타입 정보를 얻으려면이것은 가변 인수 개수가있는 메소드 인 varargs이 Java에서 작동하는 방식입니다. varargs 인수는 메소드 내부의 배열처럼 보입니다.
L은 구문입니다. 어떤 의미도없이 ... 이상한 .. – Ajay
그것은 구분 기호로만 사용되며 특별한 의미는 없습니다. 사양을 읽었습니까? – dfa