/**
* Testing Arrays
* @author N002213F
* @version 1.0
*/
public class JavaArrays {
public void processNames(String[] arg) {
//-- patented method, stop, do not read ;)
}
public void test() {
// works fine
String[] names1 = new String[] { "Jane", "John" };
processNames(names1);
// works fine, nothing here
String[] names2 = { "Jane", "John" };
processNames(names2);
// works again, please procced
processNames(new String[] { "Jane", "John" });
// fails, why, are there any reasons?
processNames({ "Jane", "John" });
// fails, but i thought Java 5 [vargs][1] handles this
processNames("Jane", "John");
}
}
1
A
답변
9
processNames({ "Jane", "John" });
이 왜, 어떤 이유가있다, 실패?
유형을 지정하지 않았습니다. 자바는 여기에 형식 유추를하지 않습니다. 이 배열이 문자열 배열임을 지정합니다. this question에 대한 답변이 너무 실패
processNames("Jane", "John");
도이를 위해 도움이 될 수 있습니다,하지만 난 5 개 가변 인자를 처리하는 자바 생각은 가변 인자를 원하는 경우, 다음과 같은 당신의 방법을 작성해야
이 :
public void processNames(String... arg)
주 대신 []
의 ...
. 배열을 받아들이는 것은 그 메소드에 varargs를 사용할 수있는 권한이 없습니다.
1
마지막 줄에 : processNames(String ...args);
은 varargs가 작동하도록 다음과 같이 작성되어야합니다.
0
세 번째 호출은 두 번째 호출과 같이 배열을 만들 수 없기 때문에 올바르지 않습니다. 최종 호출이 성공하려면 processNames를 varargs (see here)
의 수신자로 선언해야합니다.관련 문제
- 1. 배열 작업
- 2. 배열 작업
- 3. 배열 작업
- 4. 배열 작업
- 5. Java 작업
- 6. Java : 배열 및 벡터
- 7. 빠른 JavaScript 배열 작업
- 8. Jquery, 배열 작업
- 9. PHP 배열 작업
- 10. 자바 스크립트 배열 작업
- 11. Matlab 배열 작업
- 12. Matlab 배열 작업
- 13. PHP 배열 작업
- 14. 순서 배열 인덱스 작업
- 15. Java 배열 비교
- 16. java 배열 스레드 안전
- 17. Java generics 및 배열
- 18. Java 2D 배열 문제
- 19. Java 휘발성 배열?
- 20. JAVA - 바이트 배열
- 21. Java 소켓으로 배열 보내기
- 22. MongoDB Java 드라이버 배열
- 23. 다차원 배열 조작 - Java
- 24. Java 정렬 병렬 배열
- 25. Java 배열 및 ArrayList
- 26. Java 메서드에서 배열 반환
- 27. 조합 배열 Java
- 28. ArrayList Java 배열
- 29. 형식이없는 Java 출력 배열
- 30. Java XSLT Extensions가있는 배열