首页 > Java > java教程 > 为什么 Java 会抛出'不兼容类型:void 无法转换为...”?

为什么 Java 会抛出'不兼容类型:void 无法转换为...”?

Linda Hamilton
发布: 2024-12-26 14:35:13
原创
477 人浏览过

Why Does Java Throw

了解不兼容类型:Void 无法转换

Java 编译器错误消息“不兼容类型:void 无法转换为...”表示尝试以需要返回的方式使用不返回值的方法

Void 是什么意思?

Void 是 Java 中的一种独特类型,表示“无值”。声明为 void 的方法不会返回任何结果。

错误原因

此错误发生在以下情况:

  • 声明为void 被调用,代码尝试将其返回值分配给变量或在表达式中使用它。
  • 方法期望返回特定类型的值,但调用的方法返回 void。

如何修复错误

解决方案取决于所需的行为:

  • 如果方法应该返回一个值:修改方法声明以返回适当的值类型(例如 int、String)。
  • 如果方法不需要返回值: 省略赋值或使用该方法而不尝试使用其返回值。

详细示例

考虑以下内容代码:

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);
    }
}
登录后复制

编译时,此代码会出现错误:

error: incompatible types: void cannot be converted to int
登录后复制

这是因为add方法被声明为void,但在main方法中调用它尝试将其返回值分配给 int 变量。要解决此问题:

  • 选项 1: 更改 add 方法以返回结果:
private static int add(int a, int b) {
    int res = a + b;
    return res;
}
登录后复制
  • 选项2: 省略 main 中的赋值方法:
public static void main(String[] args) {
    add(1, 1);
}
登录后复制

以上是为什么 Java 会抛出'不兼容类型:void 无法转换为...”?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板