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); } }
Apabila menyusun kod ini, anda akan menerima ralat berikut:
error: incompatible types: void cannot be converted to int int sum = add(1, 1); ^
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:
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!