Rumah > Java > javaTutorial > Mengapa Java Membuang Ralat 'Jenis Tidak Serasi: batal Tidak Boleh Ditukar'?

Mengapa Java Membuang Ralat 'Jenis Tidak Serasi: batal Tidak Boleh Ditukar'?

Susan Sarandon
Lepaskan: 2024-12-23 19:47:10
asal
1002 orang telah melayarinya

Why Does Java Throw an

Jenis Tidak Serasi: void Tidak Boleh Ditukar

Masalah:

Mesej kompilasi Java "Jenis tidak serasi: void tidak boleh ditukar kepada..." menunjukkan bahawa pengkompil telah mengesan ralat jenis yang melibatkan jenis lompang. Secara khususnya, ini bermakna kod anda sedang cuba menggunakan hasil kaedah yang tidak mengembalikan nilai.

Penjelasan Terperinci:

Jenis void, tidak seperti primitif atau jenis rujukan, menandakan ketiadaan nilai. Ia digunakan terutamanya dalam pengisytiharan kaedah untuk menunjukkan bahawa kaedah itu tidak mengembalikan sebarang nilai. Apabila anda memanggil kaedah sedemikian, anda tidak boleh mengharapkan ia mengembalikan nilai yang boleh anda gunakan.

Contoh:

Pertimbangkan kod berikut:

public class Test {
    private static void add(int a, int b) {
        int res = a + b;
    }

    public static void main(String[] args) {
        int sum = add(1, 1);
    }
}
Salin selepas log masuk

Apabila menyusun kod ini, anda akan menerima ralat berikut:

error: incompatible types: void cannot be converted to int
        int sum = add(1, 1);
                     ^
Salin selepas log masuk

Ralat ini menunjukkan bahawa anda sedang mencuba untuk menetapkan hasil kaedah tambah, yang tidak sah, kepada pembolehubah int. Walau bagaimanapun, kekosongan tidak mewakili nilai, jadi ia tidak boleh ditugaskan kepada sebarang jenis pembolehubah.

Penyelesaian:

Untuk membetulkan ralat ini, anda boleh sama ada:

  1. Tukar pengisytiharan kaedah: Ubah suai kaedah tambah untuk mengembalikan nilai, seperti hasilnya daripada penambahan itu.
  2. Elakkan menggunakan nilai pulangan: Alih keluar baris yang cuba memberikan nilai pulangan kepada pembolehubah (cth., gantikan int sum = add(1, 1); dengan tambah(1, 1);).

Atas ialah kandungan terperinci Mengapa Java Membuang Ralat 'Jenis Tidak Serasi: batal Tidak Boleh Ditukar'?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan