为什么是;java.lang.IndexOutOfBoundsException“;访问已填充的arraylist时引发?
这是我的主要课程:为什么是;java.lang.IndexOutOfBoundsException“;访问已填充的arraylist时引发?,java,exception,Java,Exception,这是我的主要课程: package main; public class Main_Class { public static void main(String[] args) { Game_Map_Handler GMH = new Game_Map_Handler(); GMH.AddData("adad"); System.out.println(GMH.RetrieveData()); } } 这是我的另一个类(游戏地图
package main;
public class Main_Class {
public static void main(String[] args) {
Game_Map_Handler GMH = new Game_Map_Handler();
GMH.AddData("adad");
System.out.println(GMH.RetrieveData());
}
}
这是我的另一个类(游戏地图处理程序):
为什么会发生此错误?似乎说“地图数据”中没有填充任何内容,但我确实填充了它
public void AddData(String InData) {
List<String> Map_Data = new ArrayList<String>(); <----
Map_Data.add(InData);
};
作为旁注,请遵循java命名约定,变量名称应以小写字母开头,即map\u Data
在AddData
方法中,您就是您的map\u Data
变量
public void AddData(String InData) {
List<String> Map_Data = new ArrayList<String>(); //<-- remove this line
Map_Data.add(InData);
}
public void AddData(字符串InData){
List Map_Data=new ArrayList();//您必须使用this
运算符
this.Map_Data.add(InData);
在函数中,您使用的是本地声明的列表,而不是类中的列表
public void AddData(String InData) {
Map_Data.add(InData);
}
public void AddData(String InData) {
List<String> Map_Data = new ArrayList<String>(); //<-- remove this line
Map_Data.add(InData);
}
this.Map_Data.add(InData);