我有一个最奇怪的问题,可能有一个简单的解决方案。
我已经创建并初始化了一个列表,然后继续创建 4 个列表类型的对象。在这些的构造函数中,它们将自己放在列表中。或者至少应该如此。我总是得到一个超出范围的异常,我不知道为什么。我将列表的大小设置为 402(对于所有可能的 VK 值),但在控制台和调试中它总是说它的大小为 0,无论我设置它有多大或多空......
public class InputHandler implements KeyListener
{
public static List<Key> keyList = new ArrayList<Key>(KeyEvent.KEY_LAST);
public Key up = new Key(KeyEvent.VK_UP);
public Key down = new Key(KeyEvent.VK_DOWN);
public Key left = new Key(KeyEvent.VK_LEFT);
public Key right = new Key(KeyEvent.VK_RIGHT);
public class Key
{
public int keyCode;
public Key(int defaultCode)
{
this.keyCode = defaultCode;
keyList.add(keyCode,this);
}
public Key reMapKey(int newKey)
{
keyList.remove(keyCode);
keyList.set(newKey, this);
this.keyCode = newKey;
return this;
}
}
}
代码还有更多内容,但我尝试对其进行 SSCCE。
来自控制台的唯一价值信息是:
Exception in thread "RogueLoveMainThread" java.lang.IndexOutOfBoundsException: Index: 38, Size: 0
为我的愚蠢道歉