无法将String添加到ArrayList:“misplaced construct(s)”

时间:2011-02-20 08:03:13

标签: java string arraylist

我正在尝试在Java中向ArrayList添加一个字符串,但我似乎无法让它工作。

目前,我有以下代码:

List food_names = new ArrayList();

food_names.add("pizza");

为什么我会收到这些错误:

  
      
  • 令牌“”披萨“”上的语法错误,删除此令牌
  •   
  • 令牌上的语法错误,错位的构造
  •   

6 个答案:

答案 0 :(得分:6)

您必须在函数中使用food_names.add("pizza"),例如:

public void AddFood()
{
  food_names.add("pizza");
}

希望帮助

答案 1 :(得分:5)

为什么不使用List Generics List界面。

 List<String> food_names = new ArrayList<String>();

food_names.add("pizza");

这不应该给出任何错误。

答案 2 :(得分:3)

我怀疑那些陈述是在班级的顶层。第一个是OK,但第二个只能在代码块内;例如方法或构造函数体。请参阅@ tomasBull的答案,了解您可以执行此操作的示例。

编译器试图将food_names.add("pizza");解析为声明,并且正在彻底混淆。

答案 3 :(得分:2)

还有另一种解决方案

food_names.add(new String("pizza"));

答案 4 :(得分:0)

我不确定你是否正确初始化了ArrayList。试试

ArrayList<String> food_names = new ArrayList<String>();

同时仔细检查您是否已导入ArrayList。或者尝试删除披萨周围的引号。 免责声明:我可能错了,但我躺在床上用手机打字,哈哈。祝你好运。

答案 5 :(得分:0)

Class Example 
{

//**Do not place it here.**
List food_names = new ArrayList();
food_names.add("pizza");

 public static void main(String[] args)
{

//**You should place it here**
List food_names = new ArrayList();
food_names.add("pizza");

}


}