Java의 가변 매개변수에 대한 간단한 설명

가변 매개변수
가변 매개 변수는 하나의 방법으로 임의의 여러 매개 변수를 수신할 수 있다!예를 들어fun(),fun(1),fun(1,1),fun(1,1,1).너는 이것이 재부팅 방법이라고 생각할 수 있지만, 이것은 재부팅이 아니다. 재부팅이 얼마나 많은 방법을 재부팅할 수 있는지 생각해 봐라. fun () 방법은 어떤 수를 전달할 수 있는 매개 변수이다. 너는 이렇게 많은 방법을 재부팅할 수 있니?
2.1 가변 매개변수 정의 방법
public voidfun(int… arr) {}
위 방법fun()의 매개 변수 형식은 int...입니다. 그 중에서 "..."은 생략 번호가 아니라 매개 변수 형식을 정의하는 방식입니다.매개 변수arr는 가변 매개 변수 형식입니다.위의 코드를 publicvoidfun (int[]arr) 으로 이해할 수 있습니다.

public int sum1(int[] arr) {
    int sum = 0;
    for(int i = 0; i < arr.length; i++) {
      sum += arr[i];
    }
    return sum;
  }

public int sum2(int... arr) {
    int sum = 0;
    for(int i = 0; i < arr.length; i++) {
      sum += arr[i];
    }
    return sum;
  }
'int[]'와'int...'는 다르지 않다. 단지'int...'는 새로운 정의 수조형삼의 방식일 뿐이다.그럼 축하해야지!맞아, 이렇게 이해하면 돼!그러나 주의해야 할 것은 방법의 형삼에서만 int...를 사용하여 int[]를 대체할 수 있다.
2.2 가변 매개 변수를 호출하는 방법
sum1()과 sum2() 두 가지 방법으로 호출됩니다.

sum1(new int[]{1,2,3});
sum2(new int[]{1,2,3});
이것은 보기에 별 차이가 없다!그러나sum2에 대해서는 또 다른 호출 방식이 있다.

sum2();

sum2(1);

sum2(1,2);

sum2(1,2,3);
이것은 임의의 여러 개의 매개 변수를 사용하여sum2 () 방법을 호출하는 것처럼 보인다. 이것이 바로 가변 매개 변수를 호출하는 방법의 장점이다.
2.3 컴파일러 "2차 가공"
컴파일러가 sum2 메서드에 정의한 "2차 가공"결과는 다음과 같습니다.

public int sum2(int[] arr) {
    int sum = 0;
    for(int i = 0; i < arr.length; i++) {
      sum += arr[i];
    }
    return sum;
  }
'int...'를'int[] 유형으로 수정합니다.
컴파일러가 sum2 메서드에 호출한 2차 로드 결과는 다음과 같습니다.

sum2(new int[0]);
sum2(new int[] {1});
sum2(new int[] {1, 2});
sum2(new int[] {1, 2, 3});
결론: 가변 매개 변수는 사실 수조 유형이다. 단지 방법을 호출할 때 좀 편리할 뿐이다. 컴파일러가 우리를 도와 여러 개의 실삼을 한 수조에 넣고 형삼에게 전달한다.
2.4 가변 매개 변수 방법의 제한
l 하나의 방법은 최대 하나의 가변 매개 변수만 있을 수 있다.
l 가변 매개 변수는 반드시 방법의 마지막 매개 변수여야 한다.
다음은 여러분에게 Java의 가변 매개 변수에 대한 간단한 설명의 모든 내용입니다. 여러분에게 도움이 되고 많은 응원 부탁드립니다~

좋은 웹페이지 즐겨찾기