Java/Eclipse:删除指定索引处的ArrayList元素
我不确定这是不是复制品(可能是),但我找不到我要找的东西 我有一个静态ArrayList,其中包含从该类中的构造函数或任何扩展该类的类创建的对象:Java/Eclipse:删除指定索引处的ArrayList元素,java,eclipse,arraylist,Java,Eclipse,Arraylist,我不确定这是不是复制品(可能是),但我找不到我要找的东西 我有一个静态ArrayList,其中包含从该类中的构造函数或任何扩展该类的类创建的对象: public static ArrayList<Person> PersonList = new ArrayList<>(); public Constructor(....){ PersonList.add(this); } 我对此感到困惑: public Constructor(....){ PersonL
public static ArrayList<Person> PersonList = new ArrayList<>();
public Constructor(....){
PersonList.add(this);
}
我对此感到困惑:
public Constructor(....){
PersonList.add(this);
}
看起来每次创建该类的新对象(我假设的人)时,都是将其添加到类变量列表中。我假设每次创建该类的新实例时,都会重置全局列表。您能否确认
个人列表
并不总是大小为1?我怀疑是这样的,所以将该列表移动到另一个类好吧,在测试了一点之后,它看起来还是可以正常工作的。它抛出一个错误,告诉我它超出范围,但在每次删除后更新.size()
后,它会减小
虽然我不知道如果它告诉我它不起作用为什么会起作用?你想访问什么索引?@resueman list是PersonList的一个JList,我正试图在单击对象时将它们都删除。我正在尝试获取用户选择的JList行的索引,并删除该行的PersonList记录。不确定这是否有意义。哪一行抛出了错误<代码>个人.个人列表.删除或
列表.删除
?调试索引时,它是您想要的正确索引吗?是,它是正确的索引。错误来自Person.Personlist.remove
,因此如果打印Person.Personlist.size
,以及list.getSelectedIndex()
,在remove
行之前,大小是4,所选索引是3或更少?我认为没有足够的信息来回答这个问题。就我个人而言,我认为在该类中有Person
对象的列表是不好的。我将从decorator类中删除该列表,并将其保留在您访问的类中it@RyanSayles我这样做是因为这是我大学作业的一部分,虽然我想这是个好主意。是的,我验证了尺寸增加了(也减少了,谢谢)。我会给你解答的,谢谢你的帮助和有用的信息。
public Constructor(....){
PersonList.add(this);
}