java.util.ArrayList和“Enum”的异常错误消息

时间:2012-12-18 12:40:05

标签: java arraylist syntax-error

我有一个非常简单的家庭作业计划,我正在尝试使用一个名为“付款”(可怕的名字,我知道)的类来分组账单,这个类存放在一个ArrayList中(我是开放的)建议更好的容器。)

但是我收到了一条来自Eclipse的奇怪错误消息(将放在最后)。

public class Payment {
    private double[] Month;
    private int Year;
    private boolean Paid;

    ....
    // A lot of setters, getters, nothing important
}

现在我要创建一个数组列表

import java.util.ArrayList;

public class Bill {
    ArrayList<Payment> Money = new ArrayList<Payment>();
    Money. // error -> Money didn't get highlighted, intellisense did not provide 
                      // a list of methods

错误内容如下:

Multiple markers at this line:
    Syntax error, insert "enum Identifier" to complete EnumHeaderName
    Syntax error on token "Money", delete this token
    Syntax error on token "Money", delete this token
    Syntax error, insert "EnumBody" to complete EnumDeclaration

我完全不知道为什么会这样。我进入我的主文件来测试它,它在那里工作,而不是在这里,在“Bill”类中,现在基本上是空的。

2 个答案:

答案 0 :(得分:3)

好像你试图在ArrayList引用上调用一些Money方法。

请注意,您不能直接在类中包含这样的语句。您需要有一些method可以放置它。

以下是一个例子: -

public int getListSize() {
    return Money.size();
}

如果将Money.size()置于所有方法之外,则会出现编译错误。 : -

public class Demo {
    Money.size();  // Compiler Error

    public void getSize() {
        Money.size();   // Ok. Well, I have just added it plain to show it works
                        // Ideally you would return it, or print it.
    }
}

但是,您可以在RHS上进行调用,将返回值赋给int: -

public class Demo {
    int size = Money.size();  // Now this is fine
}

答案 1 :(得分:1)

您似乎想要在类Money的主体内调用ArrayList Bill中的方法。将方法调用放入构造函数或方法中。

然后尝试遵循Java naming conventions。变量名应该在'lowCamelCase`中。