帮助我,“线程中的异常”主“java.lang.NullPointerException” 感谢
private List< PosibleTerreno> posibles_terrenos;
private List< PosibleTerreno> terrenos_validos;
//-------------------------------
int cantidad = this.posibles_terrenos.size();
for (int i = 0 ; i < cantidad ; i++)
{
if(this.posibles_terrenos.get(i).get_validez() == true)
{
this.terrenos_validos.add(this.posibles_terrenos.get(i));
}
}
答案 0 :(得分:5)
您有 declared 这些变量
private List< PosibleTerreno> posibles_terrenos;
private List< PosibleTerreno> terrenos_validos;
但您还没有 initialized 。你需要按照
的方式做点什么private List< PosibleTerreno> posibles_terrenos = new ArrayList<PosibleTerreno>();
private List< PosibleTerreno> terrenos_validos = new ArrayList<PosibleTerreno>();
否则,两个列表都是null
,并试图引用它们的任何功能......甚至没有意义,因为那里没有“他们的”。他们没什么。所以尝试这个
int cantidad = this.posibles_terrenos.size();
显然会产生NullPointerException
。
(连续三个同音异义词+ 1。)
答案 1 :(得分:3)
您需要初始化List(s)
,或许可以使用ArrayList和/或LinkedList -
private List<PosibleTerreno> posibles_terrenos = new ArrayList<PosibleTerreno>();
private List<PosibleTerreno> terrenos_validos = new LinkedList<PosibleTerreno>();
使用Java 7及更高版本,您也可以像{ - 3}}一样使用
private List<PosibleTerreno> posibles_terrenos = new ArrayList<>();
private List<PosibleTerreno> terrenos_validos = new LinkedList<>();
答案 2 :(得分:2)
在执行抛出异常的行之前执行此操作。
private List< PosibleTerreno> posibles_terrenos = new ArrayList<PosibleTerreno>();
private List< PosibleTerreno> terrenos_validos = new ArrayList<PosibleTerreno>();