Parámetros variables
¡Los parámetros variables son un método que puede recibir cualquier cantidad de parámetros! Por ejemplo: diversión (), diversión (1), diversión (1,1), diversión (1,1,1). Puede pensar que esta es una sobrecarga de métodos, pero esta no es una sobrecarga. Piense en cuántos métodos se pueden sobrecargar sobrecargando, y el método Fun () puede pasar cualquier número de parámetros. ¿Puedes sobrecargar tantos métodos?
2.1 Definición de métodos de parámetros variables
public voidfun (int ... arr) {}
El tipo de parámetro del método anterior de diversión () es int ..., donde "..." no es un elipsis, sino una forma de definir el tipo de parámetro. El parámetro ARR es un tipo de parámetro variable. Puede comprender el código anterior como: public void Fun (int [] arr).
public int Sum1 (int [] arr) {int sum = 0; for (int i = 0; i <arr.length; i ++) {sum+= arr [i]; } suma de retorno; } public int Sum2 (int ... arr) {int sum = 0; for (int i = 0; i <arr.length; i ++) {sum+= arr [i]; } suma de retorno; }Puede pensar que "int []" e "int ..." no son diferentes, pero "int ..." es solo que "int ..." es una nueva forma de definir los parámetros de matriz. ¡Entonces debería felicitarte! Así es, ¡eso es correcto! Pero tenga en cuenta que solo int ... se puede usar en lugar de int [] en los parámetros formales del método.
2.2 Métodos de llamadas con parámetros variables
Llamadas a los dos métodos sum1 () y sum2 ():
sum1 (new int [] {1,2,3}); sum2 (new int [] {1,2,3}); ¡Esto no parece una diferencia! Pero hay otra forma de llamar a Sum2:
sum2 (); sum2 (1); sum2 (1,2); sum2 (1,2,3);
Esto parece usar cualquier número de parámetros para llamar al método Sum2 (), que es el beneficio de llamar a un método con parámetros variádicos.
2.3 Compilador "Procesamiento secundario"
El resultado del "procesamiento secundario" de la definición del compilador del método SUM2 es:
public int sum2 (int [] arr) {int sum = 0; for (int i = 0; i <arr.length; i ++) {sum+= arr [i]; } suma de retorno; }Es decir, modifique "int ..." a "int []".
El resultado de carga cuadrática de la llamada del compilador al método SUM2 es:
sum2 (new int [0]); sum2 (new int [] {1}); sum2 (new int [] {1, 2}); sum2 (new int [] {1, 2, 3}); Conclusión: los parámetros variables son en realidad tipos de matriz, pero son más convenientes al llamar a los métodos. El compilador nos ayuda a poner múltiples parámetros reales en una matriz y pasarlos a parámetros formales.
2.4 Limitaciones de los métodos de parámetros variables
l Un método solo puede tener un parámetro mutable como máximo;
l El parámetro variable debe ser el último parámetro del método.
Lo anterior es el contenido completo de la breve discusión de los parámetros variables en Java que le presentan el editor. Espero que sea útil para todos y apoye a Wulin.com más ~