所以我不知道为什么我在这一行中得到一个outofbound错误
bCountry = countriesList.get(loc);
在我的菜单中我要求用户输入两个字母的国家代码,我修剪空白,并将其转换为大写,因为整个列表是大写的
然后我将代码作为构造函数中的参数传递
public CountryComponent(String bCode) throws IOException
{
all = false;
String aCode = bCode;
getData();
}
getData方法从csv文件中提取信息并使用数据创建对象,然后调用其他几种方法向对象添加其他信息
问题是当我去尝试绘制特定对象时,其他一切都很好
它似乎从列表中找不到菜单中输入的国家/地区代码,我不知道为什么
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.ArrayList.elementData(ArrayList.java:371)
at java.util.ArrayList.get(ArrayList.java:384)
at CountryComponent.paintComponent(CountryComponent.java:204)
底线是“红色”彩色异常,这是一个更大的列表,如果需要则为idk。
答案 0 :(得分:3)
您已经设法为我们提供了大量代码,但没有一个是正确的代码。你的问题仍然是,当你打电话时:
bCountry = countriesList.get(loc);
loc
的值为-1
,这是非法的。
找出值为-1
的原因,然后解决该问题。