이 잘 컴파일 : -var-args는 메소드 인수로만 사용할 수 있습니까?
public class Demo {
public static void main(String... args) {
}
}
을하지만 이것은 컴파일지고 있지 않습니다.
public class Demo {
public static void main(String... args) {
String... strVarArgs ;
//here i initiallize strVarArgs by some logic, like we do for arrays
}
}
내가 문법적으로 틀리면 올바른지 확인하십시오.
:-) 클리 터스는 썼다 : - 그것은 배열 여기
에 대한 정말 그냥 문법 설탕은 이제 캐시가 쓴 매우 인기있는 자바 책에서 문 다음에 예입니다 시에라와 버트 베이츠 (Head First Java, 제 2 판, McGraw-Hill/Osborne) : -
주제 제네릭,
하는 MyInterface는 인터페이스 MyClass의 클래스이다<T extends MyClass>
15,, 및
<T extends MyInterface>
따라 인이 책 (548 페이지, 16 장) 복사와 같이 - 제네릭
가 "수단 연장" ""확장하거나 구현 ??? 자바 엔지니어는 매개 변수화 된 유형에 제약 조건을 지정하여 제한 할 수있는 방법을 제공해야했습니다. 그러나 특정 인터페이스를 구현하는 클래스 만 허용하도록 유형을 제한해야합니다. 그래서 상속과 구현 모두를 위해 일종의 구문을 필요로하는 상황이 있습니다. 즉, 확장 및 구현 모두에서 작동합니다. 그리고 우승 단어는 ... 확장합니다. Sun 엔지니어가 기존 키워드를 재사용 할 수있는 기회가있을 때마다 "확장"으로 여기에서했던 것처럼 일반적으로 그렇게합니다. 하지만 때로는 선택의 여지가 없습니다 ... (assert, enum).
MyQuestion : var-args는 배열의 구문 설탕이며 다른 기능은 없습니까?
Vaargs로 인해 문제가 발생하므로 기본적으로 사용해서는 안됩니다. 확실히'main'을 사용하면 도움이되지 않습니다. –
thnx. 편집에 대한 좋은 언급은 대단히 감사하겠습니다. :) – mogli
'extends'키워드에 관한 자료가 원래의 질문과 전혀 관련이없는 것을 나는 이해하지 못한다. – erickson