Generowanie w tablicy dwuwymiarowej

0

Witam!
Napisałem metodę, która powinna zwracać dwuwymiarową tablicę obiektów. Jej zasadnicza część wygląda tak:

Process[][] generated = new Process[testAmmount][processAmmount];
    	for(Process[] p: generated){
    		for(Process q: p){
    			q = new Process(minLength, maxLength, maxStartTime, middle);
    		}
    	}

Po wywołaniu tej metody tablica wypełniona jest null'ami. Wyjaśniłby mi ktoś, dlaczego tak się dzieje i jak można to naprawić?

0

Modyfikacja zmiennej p nie powoduje zmiany wartości tablicy, patrz: http://ideone.com/6Ux3GJ
Taka jest po prostu specyfika tej pętli.

0

Dzięki!
Czyli jak zrobię to zwykłą pętlą for to powinno zadziałać, tak?

0

Jak najbardziej będzie działać ;-)

1

Ej no...

Supplier<Process> s = ()->  new Process(minLength, maxLength, maxStartTime, middle); // Proces
Process[] s = Stream.generate(p).limit(processAmmount).toArray(Process[]::new); // tablica 
Process[][] p = Stream.generate(s).limit(testAmmount).toArray(Process[][]::new); // tablica tablic

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