Dalam dokumen App Engine , untuk apa ellipsis ( JID...
) dalam tanda tangan metode ini?
public MessageBuilder withRecipientJids(JID... recipientJids)
Apa fungsi dari ketiga titik itu?
Dalam dokumen App Engine , untuk apa ellipsis ( JID...
) dalam tanda tangan metode ini?
public MessageBuilder withRecipientJids(JID... recipientJids)
Apa fungsi dari ketiga titik itu?
…
,, Unicode U + 2026. NetBeans 8 di Java 8 melaporkan "karakter ilegal". Jadi Java varargs memerlukan triple FULL STOP (periode)...
,.Jawaban:
Itu adalah Java varargs. Mereka membiarkan Anda melewati sejumlah objek dari tipe tertentu (dalam hal ini mereka adalah tipe JID).
Dalam contoh Anda, panggilan fungsi berikut akan valid:
Lihat lebih lanjut di sini: http://java.sun.com/j2se/1.5.0/docs/guide/language/varargs.html
sumber
Cara menggunakan ellipsis atau varargs di dalam metode adalah seolah-olah array:
Metode ini dapat disebut sebagai berikut:
Di dalam
PrintWithEllipsis
, jenissetOfStrings
adalah array dari String. Jadi Anda bisa menyimpan beberapa pekerjaan kompiler dan melewatkan array:Untuk metode varargs , parameter urutan diperlakukan sebagai array dengan tipe yang sama. Jadi, jika dua tanda tangan berbeda hanya dalam satu yang menyatakan urutan dan yang lainnya merupakan array, seperti dalam contoh ini:
kemudian kesalahan waktu kompilasi terjadi.
Sumber: Spesifikasi Bahasa Pemrograman Java , di mana istilah teknisnya
variable arity parameter
bukan istilah umumvarargs
.sumber
Notasi tiga titik (...) sebenarnya dipinjam dari matematika, dan itu berarti "... dan seterusnya".
Adapun penggunaannya di Jawa, itu singkatan
varargs
, yang berarti bahwa sejumlah argumen dapat ditambahkan ke pemanggilan metode. Satu-satunya batasan adalah bahwavarargs
harus di akhir tanda tangan metode dan hanya ada satu per metode.sumber
Itu adalah
varargs
mereka digunakan untuk membuat metode yang menerima sejumlah argumen.Misalnya metode PrintStream.printf menggunakannya, karena Anda tidak tahu berapa banyak argumen yang akan Anda gunakan.
Mereka hanya dapat digunakan sebagai posisi akhir dari argumen.
varargs
telah ditambahkan di Java 1.5sumber
Ini berarti bahwa metode menerima sejumlah variabel argumen ("varargs") dari tipe
JID
. Dalam metode,recipientJids
disajikan.Ini berguna untuk kasus di mana Anda memiliki metode yang secara opsional dapat menangani lebih dari satu argumen dengan cara alami, dan memungkinkan Anda untuk menulis panggilan yang dapat melewati satu, dua atau tiga parameter ke metode yang sama, tanpa memiliki keburukan dalam menciptakan sebuah array dengan cepat.
Ini juga memungkinkan idiom seperti
sprintf
dari C; lihatString.format()
, misalnya.sumber