java.lang.NullPointerException ?why?

0
mansionInfo[] mansion=new mansionInfo[3];
......
	if(rackItem.size()>0)
	{
		System.out.println(rackItem.get(0).GetResName()+" "+i);
		mansion[i].cellar[0]=toDo(rackItem.get(0).GetResName(),"cellar");//// error here
	}
......
int toDo(String name,String envoirment){return 1;}
....
	private class mansionInfo{
	int[] inside={-1,-1};
	int[] cellar= {-1,-1};
	String[] iName={"N/A","N/A"};
	String[] cName={"N/A","N/A"};
	}

gfx/invobjs/cheese-tray-cheese 0 -- to jest resName, 0 to "i"
Exception in thread "Thread-12" java.lang.NullPointerException
at fun.cheeseScript.cheeseDownstairs(cheeseScript.java:635)

kod chociaż poj..... messy, wygląda na sprawny.

nie jestem pewnien tego:
mansion[i].cellar[0]

1

No i dobrze że nie jesteś pewien. Stworzyłeś tablicę ale nie stworzyłeś żadnego obiektu w tej tablicy.

0

dzięki :)
ale tak w praktyce to jak to zrobić?
na arraylistach bym po prostu dodał mansion.add(object[]temp);

na tablicy niemam bladego pojecia jak mam to ugryźć.
myślałem, że jak mu dam tablice z zawartością int[] cellar= {-1.-1}; to od razu przypisze mu te wartości.... a w tym momenci nie mam pojęcia jak to rozwiązać xd

0

Ech nic nie rozumiesz. Ty po prostu nigdzie nie tworzysz obiektów MansionInfo! Stworzyłeś tylko tablicę która moze takie obiekty przechowywać, ale samych obiektów nie!

0

Shalomowi chodzi raczej o tablicę "mansion" :>

0

jak więc stworzyć obiekt mansionInfo? Jestem naprawde słaby w te klocki, zawsze używałem programowania strukturalnego :/

ps. chyba rozgryzłem to na tym przykładzie:
http://forum.warsztat.gd/index.php?topic=23948.0

edit.
dodałem
for(int i=0; i<3; i++)
mansion[i]=new mansionInfo();

nic to nie pomogło...

0

Zależy, w którym miejscu to dodałeś. Musisz to wywołać PRZED użyciem.

Jesteś pewien, że rackItem nie jest null ? Albo to, co zwraca jego get(0) ?

0

Masz gdzieś definicję pola int[] cellar, a nigdzie nie tworzysz tej tablicy. W wierszu

int[] cellar = {-1,1}

tworzysz zmienna lokalną o takiej samej nazwie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1