【问题标题】:Unable to add a String to an ArrayList: "misplaced construct(s)"无法将字符串添加到 ArrayList:“错位构造”
【发布时间】:2011-06-30 16:01:21
【问题描述】:

我正在尝试将字符串添加到 Java 中的 ArrayList,但似乎无法正常工作。

目前,我有以下代码:

List food_names = new ArrayList();

food_names.add("pizza");

为什么会出现这些错误:

  • 标记“pizza”的语法错误,删除此标记
  • 令牌语法错误,构造错误

【问题讨论】:

  • 什么语言? ArrayList 至少存在于 Java 和 .NET 中。不过,它看起来不像 .NET 错误。
  • 您使用什么语言?爪哇?
  • 您是否复制并粘贴了代码?例如,我想知道您是否使用了错误的引号,就像您从 MS Word 粘贴时可能得到的那样
  • 不。手动输入它们
  • 这是确切的代码还是介于两者之间?此外,您可能想使用List<String> food_names = new ArrayList<String>();

标签: java string arraylist


【解决方案1】:

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

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

希望有帮助

【讨论】:

  • 谢谢。做到了。我不习惯这么严格的语言。我有点希望编译器给出更多有用的错误信息。
  • @mellowg - 学会忍受它。编译器无法读懂你的想法来弄清楚你真正想要做什么。 (同样的事情也适用于非严格的语言......额外的好处是编译器更有可能决定你的代码的含义,而不是你认为你写的。)
  • 您的答案是正确的,但请遵守广泛使用的 Java 约定 - 使用小写字符作为第一个方法名称字符。见docstore.mik.ua/orelly/java-ent/jnut/ch07_01.htm
【解决方案2】:

为什么不使用 List Generics List 接口。

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

food_names.add("pizza");

这不应该给出任何错误。

【讨论】:

    【解决方案3】:

    我怀疑这些语句处于类的顶层。第一个在那里可以,但第二个只能在代码块内;例如方法或构造函数体。请参阅@tomasBull 的回答,了解您可以在哪里执行此操作的示例。

    编译器正试图将food_names.add("pizza"); 解析为声明,并且变得非常混乱。

    【讨论】:

      【解决方案4】:

      还有一个解决办法

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

      【讨论】:

        【解决方案5】:
        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");
        
        }
        
        
        }
        

        【讨论】:

          【解决方案6】:

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

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

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

          【讨论】:

          • 感谢您的编辑,我手机上的浏览器出现了问题。
          • 找到你了,Rahul Phulore。 . . . :D
          猜你喜欢
          • 2013-06-20
          • 2013-08-13
          • 2019-04-20
          • 1970-01-01
          • 2012-11-06
          • 2015-02-15
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多