形式1:
Object[] params = null;
params = {1, 2, 3, 4};
形式2:
Object[] params = {1, 2, 3, 4};
形式3:
Object[] params = new Object[]{1, 2, 3, 4};
1.为什么第一种形式就是错的(编译阶段就报错),而第二种就可以呢?(第三种很显然)
2.第二种和第三种,哪种初始化方式更优呢?(或者有更好的?)
迷茫2017-04-18 09:51:39
우선 배열 초기화를 사용할 때 배열의 길이를 결정해야 합니다. 즉, 배열의 길이는 변경할 수 없습니다.
JAVA에서 배열을 생성하는 방법에는 두 가지가 있습니다.
(1) 정적 생성 예:
(2)1
과 같은
2
으아악3
으아악그리고 질문자가 언급한 방법은
으아악오류 1: 빈 배열 매개변수를 직접 생성하고 있습니다. 즉, 비어 있고 배열의 길이를 변경할 수 없습니다. 이때 데이터를 추가하면 빈 배열은 당연히 아무것도 추가할 수 없습니다. 뭔가 잘못될 겁니다. 위에서 언급한 두 번째 방법과 동일한 작업을 수행하고 길이가 4인 배열을 다시 만들고 새 배열의 주소를 params에 제공해야 합니다. 즉, Object[] params = null; 4]; 이런 식으로 생성할 수 있습니다.
오류 2: 배열 초기화는 정의가 완료된 후에만 연속적으로 추가할 수 있습니다.
그 이후에 데이터를 추가하려면 배열 첨자에 따라 하나씩만 추가하면 됩니다.
으아악그러나 직접 매개변수는 아님 = {1, 2, 3, 4};
迷茫2017-04-18 09:51:39
양식 1
으아아아이 선언 방법은 실제로 Java 초기화 배열의 구문 설탕 입니다. 소위 구문 설탕은 실제 실행 시 Java가 이를 형식 3으로 변환합니다. ,
으아아아Java는 형식 2와 유사한 구문 설탕을 제공하지 않으므로 이러한 방식으로 사용하는 것은 불법입니다.
迷茫2017-04-18 09:51:39
으아아아
A. 포스터는 크게 걱정할 필요가 없다고 규정하고 있습니다.
B. 배열 요소를 미리 알고 있으면 Object[] params = {1, 2, 3, 4};
를 사용하여 배열 코드를 선언하는 것이 더 간결합니다. 더 좋은 표현은 없습니다.
巴扎黑2017-04-18 09:51:39
첫 번째 선언 방법이 올바르지 않습니다.
Object[] params = new Object[length]여야 합니다.
두 번째는 제가 주로 사용하는 것입니다