Lista listy i nadawanie ostatniej wartości w pętli

0

Stworzyłem sobie listę, w której umieszczam kolejna listę

List<List<String>> lists = new ArrayList<List<String>>();

Gdy dodaje elementy do tej listy w pętli, to zapisuje mi się w całej liście lists wartość, którą podczas ostatniej iteracji osiągnęła przypisywana lista result.

result.add("sdas");
result.add("dasd");
result.add("fass"); // Tutaj cały czas się zmieniają wartości

                }
                lists.add(result);
                result.clear();
0

Przy każdym przejściu pętli trzeba tworzyć nowy obiekt result. Wynika to z tego, że do metody add jest przekazywana referencja do obiektu, a nie jego kopia.

0

a czego się spodziewałeś? trzymasz referencję do jednej listy i ją uzupełniasz i czyścisz w kółko
chcesz kilka list to musisz utworzyć kilka list

0

Dzięki za odpowiedź, teraz już wiem, że referencja jest przekazywana. Dopiero zaczynam zabawę w Javie, więc amator ze mnie :)

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