【问题标题】:not applicable for the arguments (void) error不适用于参数 (void) 错误
【发布时间】:2013-12-25 16:52:40
【问题描述】:

您好,我正在做一个项目,但遇到一个无法解决的错误。来自 Eclipse 程序的错误消息是:

线程“main”java.lang.Error 中的异常:未解决的编译问题: List 类型中的方法 add(String) 不适用于参数 (void) List 类型中的方法 add(String) 不适用于参数 (void) 火腿解决不了

at PizzaChoice.main(PizzaChoice.java:50)

代码如下:

        System.out.print("\nDo you want thick base?");
    input = keyboard.nextLine();
    choice = input.charAt(0);
    if (choice == 'y'){
        pizza.thick.setCost(8.75);
        pizza.thick.getType();
        l.add(pizza.thick.getType());
        c.add((double) pizza.thick.getCost());
        totalPizzaBasePrice = totalPizzaBasePrice + pizza.thick.getCost();

【问题讨论】:

  • pizza.thick.getType()pizza.thick.getCost()的返回类型是什么?
  • 为什么pizza.thick.getType(); 单独一行?应该是setType()
  • 它在 PizzaBase.java 中
  • 不太确定,我不擅长 java :(
  • 您在使用 Eclipse 吗?在这种情况下,选择“getType”并按 F3。有什么代码?如果不是,请尝试找出“ham”的定义位置。

标签: java


【解决方案1】:

getType() 或 getCost() 返回类型均为 void。

【讨论】:

    【解决方案2】:

    这个例子将帮助你弄清楚,下面的ArrayList.add 会接受任何对象,但我没有传递任何东西,因为表达式new Object().wait() 将评估为 void(等待不会返回任何内容),这就是为什么编译器投诉(ArrayList 类型中的方法 add(Object) 不适用于参数(void))

    new ArrayList<>().add(new Object().wait());
    

    检查方法 pizza.thick.getType()pizza.thick.getCost() 的签名,看看哪个返回 void,例如public void getType().....

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 2011-08-29
      • 1970-01-01
      • 2021-11-03
      • 2021-04-18
      • 2014-06-20
      • 1970-01-01
      相关资源
      最近更新 更多