You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

IntelliJ中不兼容类型错误:Stock类purchase方法参数匹配问题排查

分析你的不兼容类型错误

从你给出的代码片段和问题描述来看,这个不兼容类型错误大概率是你忽略了下面几个关键点:

  • 方法返回值与变量类型不匹配
    你试图把purchase方法的返回值赋值给double类型的profit1变量,但很可能你在Stock类里定义的purchase方法返回类型并不是double——比如是void(没有返回值)或者int类型。举个例子,如果你的purchase方法是这样的:

    public void purchase(int shares, double price) {
        // 只执行购买逻辑,不返回任何值
    }
    

    那直接写double profit1 = stock1.purchase(units, shareprice);肯定会报错,因为void类型无法赋值给double变量。

  • 方法参数顺序搞反了
    假设你Stock类里的purchase方法参数顺序是(double pricePerShare, int shareCount),但你调用的时候传的是(units, shareprice)(int在前、double在后),这种参数类型顺序不匹配也会触发类似的不兼容类型报错。

  • 方法调用的拼写错误
    你代码最后一行的stoc...明显是未完成的拼写,应该是stock1,如果实际代码里真的拼写错误,编译器找不到正确的方法,也可能抛出类似的类型相关错误(不过这种更常见的是“找不到符号”报错)。

你可以先去检查Stock类中purchase方法的返回类型参数顺序,这两个是最容易被忽略的问题点。

内容的提问来源于stack exchange,提问作者DevOnix

火山引擎 最新活动