不适用于参数(void)错误

时间:2013-12-08 16:55:25

标签: java

您好我正在处理一个项目,我得到一个我无法解决的错误。 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();

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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

检查方法pizza.thick.getType()pizza.thick.getCost()的签名,看看哪些方法无效,例如public void getType().....