JDBC dodawanie do arraylisty

0

Witam.
Pobieram z bazy danych dane.
Następnie chcę je zapisać w pętli do arraylisty.

Wszystko idzie ok tylko że dane dodają się w dość dziwny sposób.
Oto fragment kodu:

           Statement statement = c.createStatement();
            ResultSet rs = statement.executeQuery("SELECT * FROM osoba");
            while (rs.next()) {
                osoba.numer             = rs.getInt(1);
                osoba.imie              = rs.getString(2);
                osoba.nazwizko          = rs.getString(3);
                osoba.data_urodzenia    = rs.getDate(4);
                DB.add(osoba);
                System.out.println(DB);
                System.out.println(osoba.numer);
            }

A w wyniku otrzymuję:

 run:
[Osoba [numer=1, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-12-11, wiek=0]]
1
[Osoba [numer=2, imie=Tom, nazwizko=John, data_urodzenia=1964-02-12, wiek=0], Osoba [numer=2, imie=Tom, nazwizko=John, data_urodzenia=1964-02-12, wiek=0]]
2
[Osoba [numer=3, imie=Michal, nazwizko=Kurkeiwicz, data_urodzenia=1999-01-13, wiek=0], Osoba [numer=3, imie=Michal, nazwizko=Kurkeiwicz, data_urodzenia=1999-01-13, wiek=0], Osoba [numer=3, imie=Michal, nazwizko=Kurkeiwicz, data_urodzenia=1999-01-13, wiek=0]]
3
[Osoba [numer=4, imie=kasd, nazwizko=dksaj, data_urodzenia=2000-02-12, wiek=0], Osoba [numer=4, imie=kasd, nazwizko=dksaj, data_urodzenia=2000-02-12, wiek=0], Osoba [numer=4, imie=kasd, nazwizko=dksaj, data_urodzenia=2000-02-12, wiek=0], Osoba [numer=4, imie=kasd, nazwizko=dksaj, data_urodzenia=2000-02-12, wiek=0]]
4
[Osoba [numer=5, imie=kdsjmd, nazwizko=ksjsk, data_urodzenia=1999-01-12, wiek=0], Osoba [numer=5, imie=kdsjmd, nazwizko=ksjsk, data_urodzenia=1999-01-12, wiek=0], Osoba [numer=5, imie=kdsjmd, nazwizko=ksjsk, data_urodzenia=1999-01-12, wiek=0], Osoba [numer=5, imie=kdsjmd, nazwizko=ksjsk, data_urodzenia=1999-01-12, wiek=0], Osoba [numer=5, imie=kdsjmd, nazwizko=ksjsk, data_urodzenia=1999-01-12, wiek=0]]
5
[Osoba [numer=6, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-11-12, wiek=0], Osoba [numer=6, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-11-12, wiek=0], Osoba [numer=6, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-11-12, wiek=0], Osoba [numer=6, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-11-12, wiek=0], Osoba [numer=6, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-11-12, wiek=0], Osoba [numer=6, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-11-12, wiek=0]]
6
[Osoba [numer=7, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-12-11, wiek=0], Osoba [numer=7, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-12-11, wiek=0], Osoba [numer=7, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-12-11, wiek=0], Osoba [numer=7, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-12-11, wiek=0], Osoba [numer=7, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-12-11, wiek=0], Osoba [numer=7, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-12-11, wiek=0], Osoba [numer=7, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-12-11, wiek=0]]
7
[Osoba [numer=8, imie=Tom, nazwizko=John, data_urodzenia=1964-02-12, wiek=0], Osoba [numer=8, imie=Tom, nazwizko=John, data_urodzenia=1964-02-12, wiek=0], Osoba [numer=8, imie=Tom, nazwizko=John, data_urodzenia=1964-02-12, wiek=0], Osoba [numer=8, imie=Tom, nazwizko=John, data_urodzenia=1964-02-12, wiek=0], Osoba [numer=8, imie=Tom, nazwizko=John, data_urodzenia=1964-02-12, wiek=0], Osoba [numer=8, imie=Tom, nazwizko=John, data_urodzenia=1964-02-12, wiek=0], Osoba [numer=8, imie=Tom, nazwizko=John, data_urodzenia=1964-02-12, wiek=0], Osoba [numer=8, imie=Tom, nazwizko=John, data_urodzenia=1964-02-12, wiek=0]]
8
[Osoba [numer=9, imie=Michal, nazwizko=Kurkeiwicz, data_urodzenia=1999-01-13, wiek=0], Osoba [numer=9, imie=Michal, nazwizko=Kurkeiwicz, data_urodzenia=1999-01-13, wiek=0], Osoba [numer=9, imie=Michal, nazwizko=Kurkeiwicz, data_urodzenia=1999-01-13, wiek=0], Osoba [numer=9, imie=Michal, nazwizko=Kurkeiwicz, data_urodzenia=1999-01-13, wiek=0], Osoba [numer=9, imie=Michal, nazwizko=Kurkeiwicz, data_urodzenia=1999-01-13, wiek=0], Osoba [numer=9, imie=Michal, nazwizko=Kurkeiwicz, data_urodzenia=1999-01-13, wiek=0], Osoba [numer=9, imie=Michal, nazwizko=Kurkeiwicz, data_urodzenia=1999-01-13, wiek=0], Osoba [numer=9, imie=Michal, nazwizko=Kurkeiwicz, data_urodzenia=1999-01-13, wiek=0], Osoba [numer=9, imie=Michal, nazwizko=Kurkeiwicz, data_urodzenia=1999-01-13, wiek=0]]
9
[Osoba [numer=10, imie=kasd, nazwizko=dksaj, data_urodzenia=2000-02-12, wiek=0], Osoba [numer=10, imie=kasd, nazwizko=dksaj, data_urodzenia=2000-02-12, wiek=0], Osoba [numer=10, imie=kasd, nazwizko=dksaj, data_urodzenia=2000-02-12, wiek=0], Osoba [numer=10, imie=kasd, nazwizko=dksaj, data_urodzenia=2000-02-12, wiek=0], Osoba [numer=10, imie=kasd, nazwizko=dksaj, data_urodzenia=2000-02-12, wiek=0], Osoba [numer=10, imie=kasd, nazwizko=dksaj, data_urodzenia=2000-02-12, wiek=0], Osoba [numer=10, imie=kasd, nazwizko=dksaj, data_urodzenia=2000-02-12, wiek=0], Osoba [numer=10, imie=kasd, nazwizko=dksaj, data_urodzenia=2000-02-12, wiek=0], Osoba [numer=10, imie=kasd, nazwizko=dksaj, data_urodzenia=2000-02-12, wiek=0], Osoba [numer=10, imie=kasd, nazwizko=dksaj, data_urodzenia=2000-02-12, wiek=0]]
10
[Osoba [numer=11, imie=kdsjmd, nazwizko=ksjsk, data_urodzenia=1999-01-12, wiek=0], Osoba [numer=11, imie=kdsjmd, nazwizko=ksjsk, data_urodzenia=1999-01-12, wiek=0], Osoba [numer=11, imie=kdsjmd, nazwizko=ksjsk, data_urodzenia=1999-01-12, wiek=0], Osoba [numer=11, imie=kdsjmd, nazwizko=ksjsk, data_urodzenia=1999-01-12, wiek=0], Osoba [numer=11, imie=kdsjmd, nazwizko=ksjsk, data_urodzenia=1999-01-12, wiek=0], Osoba [numer=11, imie=kdsjmd, nazwizko=ksjsk, data_urodzenia=1999-01-12, wiek=0], Osoba [numer=11, imie=kdsjmd, nazwizko=ksjsk, data_urodzenia=1999-01-12, wiek=0], Osoba [numer=11, imie=kdsjmd, nazwizko=ksjsk, data_urodzenia=1999-01-12, wiek=0], Osoba [numer=11, imie=kdsjmd, nazwizko=ksjsk, data_urodzenia=1999-01-12, wiek=0], Osoba [numer=11, imie=kdsjmd, nazwizko=ksjsk, data_urodzenia=1999-01-12, wiek=0], Osoba [numer=11, imie=kdsjmd, nazwizko=ksjsk, data_urodzenia=1999-01-12, wiek=0]]
11
[Osoba [numer=12, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-11-12, wiek=0], Osoba [numer=12, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-11-12, wiek=0], Osoba [numer=12, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-11-12, wiek=0], Osoba [numer=12, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-11-12, wiek=0], Osoba [numer=12, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-11-12, wiek=0], Osoba [numer=12, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-11-12, wiek=0], Osoba [numer=12, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-11-12, wiek=0], Osoba [numer=12, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-11-12, wiek=0], Osoba [numer=12, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-11-12, wiek=0], Osoba [numer=12, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-11-12, wiek=0], Osoba [numer=12, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-11-12, wiek=0], Osoba [numer=12, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-11-12, wiek=0]]
12
[Osoba [numer=12, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-11-12, wiek=0], Osoba [numer=12, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-11-12, wiek=0], Osoba [numer=12, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-11-12, wiek=0], Osoba [numer=12, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-11-12, wiek=0], Osoba [numer=12, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-11-12, wiek=0], Osoba [numer=12, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-11-12, wiek=0], Osoba [numer=12, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-11-12, wiek=0], Osoba [numer=12, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-11-12, wiek=0], Osoba [numer=12, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-11-12, wiek=0], Osoba [numer=12, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-11-12, wiek=0], Osoba [numer=12, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-11-12, wiek=0], Osoba [numer=12, imie=?ukasz, nazwizko=Malaga, data_urodzenia=1984-11-12, wiek=0]]
 
0

Cały czas dodajesz jeden i ten sam obiekt jedynie zmieniajac mu w petli wartosci. Po otwarciu klamry od petli while najpierw stworz nowy obiekt:
osoba = new Osoba();

Dla zrozumienia problemu poczytaj o roznicy pomiedzy przekazywaniu przez wartosc, a przekazywaniu przez referencje

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