Understanding Incompatible Types: Void Cannot Be Converted
The Java compiler error message "Incompatible types: void cannot be converted to ..." indicates an attempt to use a method that does not return a value in a manner that requires a return value.
What Does Void Mean?
Void is a unique type in Java that signifies "no value." Methods declared as void do not return any result.
Causes of the Error
This error arises when:
How to Fix the Error
The solution depends on the desired behavior:
Detailed Example
Consider the following code:
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); } }
When compiled, this code results in the error:
error: incompatible types: void cannot be converted to int
This is because the add method is declared as void, yet the call to it in the main method attempts to assign its return value to an int variable. To fix this:
private static int add(int a, int b) { int res = a + b; return res; }
public static void main(String[] args) { add(1, 1); }
The above is the detailed content of Why Does Java Throw 'Incompatible types: void cannot be converted to ...'?. For more information, please follow other related articles on the PHP Chinese website!