Skip to content Skip to sidebar Skip to footer

Variable-Length Argument List Pada Java

Method dapat memiliki Variable-Length Argument List dan ini telah hadir sejak Java 5.0, yang disebut juga dengan varargs.  Parameter varargs ini dapat berupa tipe primitif ataupun objek. Tanda (...) digunakan pada argument list dari method signature. Kenapa varargs diperkenalkan? Karena sebelumnya programmer menggunakan method overloaded atau mengambil parameter method sebagai suatu array, namun nyatanya hal ini bukanlah sesuatu yang baik sehubungan pada penyelesaian masalah pada program.  

Jika banyaknya argument yang akan di-pass kan pada method tidak diketahui, maka penggunaan varargs adalah keputusan yang lebih baik.
Apa keuntungan penggunaan varargs? Keuntungannya adalah dapat mengurangi penggunaan kode karena tidak memerlukan overloaded pada method.

varargs


Syntax-nya adalah:

return_type method_name(data_type... variableName){}

Variabel angka dari argumen dengan tipe yang sama dapat dipass-kan pada suatu method dan diperlakukan sebagai array.

Dalam mendeklarasikan method, anda menentukan tipe method yang akan digunakan, kemudian diikuti dengan tanda (...). Hanya satu  Variable-Length Argument List yang dapat ditetapkan dalam suatu method, dan parameter ini haruslah parameter terakhir. Jadi parameter biasa lainnya harus diletakkan lebih awal.

Java memperlakukan parameter variable-length sebagai suatu array. Anda dapat melewatkan / pass suatu array ataupun argumen variabel angka  pada parameter variable-length. Ketika memanggil method dengan argumen variabel angka, maka Java membuat array dan melewatkan argument tersebut ke dalamnya.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
public class ContohVarargs {
 
  static void tampilkan (String...value){
  
  System.out.println("Method tampilkan dipanggil: ");
  
 }
 
  
  public static void main(String args []){
   
   tampilkan();
   tampilkan("selamat", " datang ", " di pemrograman ", " Java");
  }
 

}

Output:
Method tampilkan dipanggil:
Method tampilkan dipanggil:

Lho, kenapa string selamat datang di pemrograman Java tidak ditampilkan?

Ingat bahwa Java memperlakukan parameter variable-length sebagai suatu array, maka untuk menampilkan elemen array, maka biasanya menggunakan pernyataan loop.

Contoh:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
public class ContohVarargs {
 
  static void tampilkan (String...myString){
  
  System.out.println("Method tampilkan dipanggil: ");
  
  for(String string :myString){  
      System.out.print(string);  
     }  
  
 }
 
  
  public static void main(String args []){
   
   tampilkan();
   tampilkan("Selamat", " datang ", " di pemrograman ", " Java");
  }
 

}

Output:
Method tampilkan dipanggil:
Method tampilkan dipanggil:
Selamat datang  di pemrograman  Java

Kode berikut ini akan memberikan compile error, karena tidak sesuai dengan aturan untuk varargs:
  1. void method(String... x, int... y){}//Error karena hanya boleh ada satu varargs yang ditetapkan 
  2. void method(int... y, String x){}//Error karena varargs harus diletakkan paling akhir setelah variabel biasa





Contoh lainnya, penggunaan varargs dan parameter biasa:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class ContohVarargs {
 public static void main(String[] args) {
  
  angkaMinimum("Angka minimum adalah ", 0.19, 0.12, 0.08, 0.17, 0.16);
  
  }
 
 public static void angkaMinimum(String a, double... angka) {
  
  if (angka.length == 0) {
   System.out.println("Tidak ada argumen yang di lewatkan");
   return;//untuk menghentikan method
  }

  double hasil = angka[0];
  
  for (int i = 1; i < angka.length; i++)
   if (angka[i] < hasil)
    hasil = angka[i];
  
  System.out.println(a + hasil);
 }
 }

Output:
Angka minimum adalah 0.08

Post a Comment for "Variable-Length Argument List Pada Java"