Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java LibGDX类TagGame包含一个签名';LArrayList<>';位置11的形状不正确_Java_Eclipse_Arraylist - Fatal编程技术网

Java LibGDX类TagGame包含一个签名';LArrayList<>';位置11的形状不正确

Java LibGDX类TagGame包含一个签名';LArrayList<>';位置11的形状不正确,java,eclipse,arraylist,Java,Eclipse,Arraylist,我不知道怎么了。在我尝试使用ArrayList存储Player类型后,出现了错误。从那以后,我删除了我所做的一切,虽然只有三行,但错误不会消失。 我尝试重新启动Eclipse、清理/重建和刷新。还在那里。我唯一没有做的就是将所有代码转移到一个全新的项目中,但这是一个巨大的麻烦,所以我想避免这种情况。我想知道是什么导致了这个错误,以便将来避免它。 以下是我使用ArrayList的方式: ArrayList<Player> players; ... public void create(

我不知道怎么了。在我尝试使用ArrayList存储
Player
类型后,出现了错误。从那以后,我删除了我所做的一切,虽然只有三行,但错误不会消失。
我尝试重新启动Eclipse、清理/重建和刷新。还在那里。我唯一没有做的就是将所有代码转移到一个全新的项目中,但这是一个巨大的麻烦,所以我想避免这种情况。我想知道是什么导致了这个错误,以便将来避免它。
以下是我使用ArrayList的方式:

ArrayList<Player> players;
...
public void create() {
    players = new ArrayList<Player>();

    players.add(p1);
    players.add(p2);
}
ArrayList播放器;
...
公共void create(){
players=newarraylist();
玩家。添加(p1);
玩家。添加(p2);
}
这在其他应用程序中也起到了作用,所以我不明白为什么它与LibGDX不同。或者为什么在删除所有与此相关的内容后错误不会消失

编辑:错误出现在
DesktopLauncher
类中“package”的字母“p”上。ArrayList在主游戏类中


编辑2:如果我尝试运行它,控制台输出
错误:找不到或加载主类com.fun.tag.desktop.DesktopLauncher
。该文件确实存在,并且可以在出现错误之前打开——实际上,除了四行小代码外,项目中没有任何更改。这些行甚至从未被编译过

我知道这是一篇老文章,所以你很可能已经解决了这个问题,但是对于其他发现这个问题的人来说,我是怎么解决的

修复

1) 备份你的文件。不仅仅是为了安全,我们还要用一会儿

2) 在使用数组列表的任何位置删除该代码

3) 省省吧

3) 现在,如果出现错误,请删除该行(该行应该是类开始时的包),现在您的错误将如下所示:

声明的包“”与预期的包不匹配

4) 把你刚摆脱的电话线放回去。(为了安全起见,我一点一点地做了这件事,每次添加一些代码时都会运行程序,看看是否有特定的代码行导致了错误,但似乎没有,所以您可以立即将其全部添加回去)

5) 错误应该消失

6) 现在,您可以从备份中放回先前取出代码的任何文件

为什么

从我所阅读和看到的来看,这是EclipseIDE的一个错误,而不是您的代码。我认为这可能会起作用的原因是,如果我错了,请纠正我,因为删除包含错误的行会使它消失,并且在将其放回时,由于代码中没有实际错误导致此错误,因此错误不会再次出现。然后您就可以添加代码了,因为错误不在那里,并且应该保持这种状态,因为您的代码不应该出现实际问题


至于是什么原因导致了这个问题,我不确定,但如果有人对此有答案,我很想听听。

我也有同样的问题。这对我来说是个好办法:

  • 从Eclipse中删除项目(当然不要删除文件)
  • 删除.project文件和bin目录。(保留.classpath文件)
  • 在项目目录中创建新项目

  • 我假设这是Eclipse中的一个bug,但我不知道是什么原因造成的。

    我刚刚经历了这个问题,我真的被另一个答案中的“删除项目然后使用备份”吓坏了,所以我真的只是删除了主类中的包行,这是显示问题的行,然后按ctrl+z将该行放回原处。问题已解决。

    我只是为整个项目清理了maven,它对我有效。

    上述代码在游戏类中,但不在DesktopLauncher类中,对吗?你的游戏类中有编译错误吗?没有,游戏类中没有。