【问题标题】:Java Error - Actual and formal argument lists differ in lengthJava 错误 - 实际参数列表和形式参数列表的长度不同
【发布时间】:2014-05-13 20:32:56
【问题描述】:

我正在尝试调用一个方法,但它给出了这个错误:

java:112: 错误: 必填:字符串、字符串

找到:字符串

原因:实际参数列表和形式参数列表的长度不同

这是我试图调用的方法:

public void setShippingDest(String inCustName, String inDestn) {
    // ...
}

这就是我试图称呼它的方式:

shipOrder.setShippingDest("Broome");

【问题讨论】:

  • 我还想看看使用单元测试框架,例如 junittestng 来编写你的测试,这样你的测试就比你的测试更易于管理巨大的main()方法方法。

标签: java


【解决方案1】:

嗯,这很简单。这是setShippingDest的声明:

public void setShippingDest(String inCustName, String inDestn)

这就是您尝试调用它的方式:

shipOrder.setShippingDest("Broome");

您提供了一个参数,但有两个参数?你希望它如何工作?您要么需要提供另一个参数,要么删除一个参数。

(我还强烈建议您从所有参数中删除 in 前缀,并研究一个真正的单元测试框架,例如 JUnit,而不是编写一个庞大的 main 方法。)

【讨论】:

  • @Ammu:值得退后一步,弄清楚为什么您无法从编译器错误消息中弄清楚。你不知道去哪里看吗?你没看懂信息吗?基本上,试着从这个经验中学习,这样你下次就可以自己解决了。
【解决方案2】:

此外,如果您只想指定客户名称,您可以通过将方法重载为

    public void setShippingDest(String inCustName)
    {
      return  setShippingDest(inCustName, defaultvalue1);
    }

how to set default method argument values?

【讨论】:

    猜你喜欢
    • 2016-05-31
    • 2013-10-04
    • 1970-01-01
    • 1970-01-01
    • 2014-04-06
    • 2019-08-10
    • 2020-08-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多