Rumah >Java >javaTutorial >Mengapa Java Throw 'Jenis tidak serasi: void tidak boleh ditukar kepada ...'?
Memahami Jenis Tidak Serasi: Void Tidak Boleh Ditukar
Mesej ralat pengkompil Java "Jenis tidak serasi: void tidak boleh ditukar kepada ..." menunjukkan percubaan untuk menggunakan kaedah yang tidak mengembalikan nilai dengan cara yang memerlukan pulangan nilai.
Apakah Maksud Void?
Void ialah jenis unik dalam Java yang menandakan "tiada nilai." Kaedah yang diisytiharkan sebagai batal tidak mengembalikan sebarang hasil.
Punca Ralat
Ralat ini timbul apabila:
Cara Membetulkan Ralat
Penyelesaian bergantung pada tingkah laku yang diingini :
Contoh Terperinci
Pertimbangkan perkara berikut kod:
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 disusun, kod ini menghasilkan ralat:
error: incompatible types: void cannot be converted to int
Ini kerana kaedah tambah diisytiharkan sebagai tidak sah, namun panggilan kepadanya dalam kaedah utama cuba untuk memberikan nilai pulangannya kepada pembolehubah int. Untuk membetulkannya:
private static int add(int a, int b) { int res = a + b; return res; }
public static void main(String[] args) { add(1, 1); }
Atas ialah kandungan terperinci Mengapa Java Throw 'Jenis tidak serasi: void tidak boleh ditukar kepada ...'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!