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

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

目前,我有以下代码:

List food_names = new ArrayList(); food_names.add("pizza"); 

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

  • 令牌“”披萨“”上的语法错误,删除此令牌
  • 令牌上的语法错误,错放的构造(s)

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

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

希望有所帮助

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

  List food_names = new ArrayList(); food_names.add("pizza"); 

这不应该给出任何错误。

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

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

还有另一种解决方案

 food_names.add(new String("pizza")); 
 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"); } } 

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

 ArrayList food_names = new ArrayList(); 

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