Rumah > Java > javaTutorial > Bagaimanakah Saya Boleh Meluluskan Array sebagai Argumen kepada Kaedah Java dengan Argumen Pembolehubah?

Bagaimanakah Saya Boleh Meluluskan Array sebagai Argumen kepada Kaedah Java dengan Argumen Pembolehubah?

DDD
Lepaskan: 2024-12-08 14:25:10
asal
530 orang telah melayarinya

How Can I Pass an Array as Arguments to a Java Method with Variable Arguments?

Melalukan Array sebagai Argumen kepada Kaedah dengan Argumen Boleh Ubah dalam Java

Masalah

Matlamatnya adalah untuk mencipta kaedah Java yang mengambil pelbagai hujah dan menghantar setiap hujah individu kepada kaedah dengan hujah berubah-ubah. Walau bagaimanapun, masalah timbul apabila tandatangan kaedah mengisytiharkan Objek[] dan bukannya argumen berasingan, yang membawa kepada tatasusunan dianggap sebagai argumen tunggal.

Penyelesaian

Ya , adalah mungkin untuk menghantar tatasusunan sebagai argumen kepada kaedah dengan argumen boleh ubah dalam Java. Ini dimungkinkan oleh gula sintaksis T... yang bersamaan dengan T[].

Contoh Kod

Contoh berikut menggambarkan cara untuk mencapai ini:

public static String ezFormat(Object... args) {
    String format = new String(new char[args.length])
        .replace("", "[ %s ]");
    return String.format(format, args);
}
public static void main(String... args) {
    System.out.println(ezFormat("A", "B", "C"));
    // prints "[ A ][ B ][ C ]"
}
Salin selepas log masuk

Varargs Gotchas

Melalui Null

Berhati-hati bahawa menghantar null kepada parameter varargs boleh mengakibatkan tingkah laku yang tidak dijangka. Untuk mengelakkan ralat, anda boleh menghantar null sebagai tatasusunan atau sebagai argumen tunggal.

Menambah Argumen Tambahan

Apabila menghantar tatasusunan kepada parameter varargs dan menambah argumen tambahan , adalah perlu untuk mencipta tatasusunan baharu yang memuatkan kedua-dua hujah tambahan dan tatasusunan asal elemen.

Melalui Tatasusunan Primitif

Varargs hanya berfungsi dengan jenis rujukan. Untuk menghantar tatasusunan primitif, tukarkannya kepada kelas pembalut yang sepadan (cth., int[] kepada Integer[]).

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Meluluskan Array sebagai Argumen kepada Kaedah Java dengan Argumen Pembolehubah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan