Java LibGDX类TagGame包含一个签名';LArrayList<>';位置11的形状不正确
我不知道怎么了。在我尝试使用ArrayList存储Java LibGDX类TagGame包含一个签名';LArrayList<>';位置11的形状不正确,java,eclipse,arraylist,Java,Eclipse,Arraylist,我不知道怎么了。在我尝试使用ArrayList存储Player类型后,出现了错误。从那以后,我删除了我所做的一切,虽然只有三行,但错误不会消失。 我尝试重新启动Eclipse、清理/重建和刷新。还在那里。我唯一没有做的就是将所有代码转移到一个全新的项目中,但这是一个巨大的麻烦,所以我想避免这种情况。我想知道是什么导致了这个错误,以便将来避免它。 以下是我使用ArrayList的方式: ArrayList<Player> players; ... public void create(
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中的一个bug,但我不知道是什么原因造成的。我刚刚经历了这个问题,我真的被另一个答案中的“删除项目然后使用备份”吓坏了,所以我真的只是删除了主类中的包行,这是显示问题的行,然后按ctrl+z将该行放回原处。问题已解决。我只是为整个项目清理了maven,它对我有效。上述代码在游戏类中,但不在DesktopLauncher类中,对吗?你的游戏类中有编译错误吗?没有,游戏类中没有。