Rumah > Java > javaTutorial > Mengapa Saya Mendapat Ralat 'Jenis Tidak Padan: Void Tidak Boleh Ditukar' di Java?

Mengapa Saya Mendapat Ralat 'Jenis Tidak Padan: Void Tidak Boleh Ditukar' di Java?

Linda Hamilton
Lepaskan: 2024-12-25 02:21:09
asal
301 orang telah melayarinya

Why Am I Getting a

Jenis Tidak Padan: Void Tidak Boleh Ditukar

Kompilasi Java sering menghasilkan mesej ralat yang boleh mengelirukan untuk pemula, seperti "Jenis tidak serasi: kekosongan tidak boleh ditukar kepada ...". Memahami maksud di sebalik mesej ini adalah penting untuk penyahpepijatan dan menulis kod bebas ralat.

Maksud Ralat

Ralat ini berlaku apabila pengkompil mengesan percubaan untuk menetapkan atau gunakan pembolehubah dengan jenis void kepada pembolehubah dengan jenis yang berbeza. void menandakan ketiadaan nilai (set kosong), manakala kebanyakan jenis lain mewakili nilai tertentu.

Punca Ralat

Ketidakpadanan ini biasanya berlaku apabila:

  • Memanggil kaedah yang diisytiharkan sebagai batal: Kaedah yang ditandakan sebagai batal secara jelas menunjukkan bahawa kaedah tersebut tidak mengembalikan sebarang nilai. Walau bagaimanapun, apabila nilai pulangannya dirujuk atau diberikan kepada pembolehubah, ia mengakibatkan ralat ini.
  • Menetapkan nilai bukan batal kepada batal: Cuba untuk menetapkan nilai bukan batal kepada pembolehubah atau objek jenis void juga mencetuskan ralat ini.

Membetulkan Ralat

Menyelesaikan ralat ini melibatkan pembetulan ketidakpadanan dalam jenis:

  • Untuk panggilan kaedah: Tentukan sama ada kaedah itu bertujuan untuk mengembalikan nilai. Jika ya, edit pengisytiharannya untuk mengembalikan jenis yang sesuai. Jika tidak, cuma elakkan menggunakan nilai pulangan kaedah.
  • Untuk tugasan: Pastikan anda memberikan nilai yang sah yang sepadan dengan jenis pembolehubah yang diisytiharkan. Jika pembolehubah diisytiharkan sebagai tidak sah, elakkan daripada memberikan sebarang nilai kepadanya.

Contoh

Pertimbangkan coretan kod berikut:

public class Example {

    public static void main(String[] args) {
        int result = add(1, 2); // Attempting to assign 'void' to 'int'
    }

    public static void add(int a, int b) {
        // Method declared as 'void' with no return value
    }
}
Salin selepas log masuk

Kompilasi akan gagal dengan mesej ralat "Jenis tidak serasi: void tidak boleh ditukar kepada int". Untuk membetulkannya, anda boleh sama ada menukar pengisytiharan kaedah untuk mengembalikan int (dan memberikan pernyataan pulangan sebenar) atau mengalih keluar pernyataan tugasan sepenuhnya.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 'Jenis Tidak Padan: Void Tidak Boleh Ditukar' di Java?. 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