Re: Creation of collection objects in a loop
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Daniel Moyne schreef:
| Hendrik Maryns wrote:
|
| GArlington schreef:
| | On Jul 18, 2:33 pm, Daniel Moyne <daniel.mo...@neuf.fr> wrote:
| |> This question is really generic ; I know how to read information from a
| |> file ; from this file I want to display built object that I will name
| |> in this post "record" ; so I will have a class "Record" ; so it will be
| |> something like this :
| |> for (from beginning to the end of text file) {
| |> (a) gathering of "data" from file for generic record;
| |> (b) Record record(i) = new Record(data);
| |> (c) addition of record(i) into panel for display;
| |> i+=1;
| |>
| |> }
| |>
| |> I know ho to handle (a) and (c) but how to create my collection of
| objects
| |> record(i) (meaning name of instance to be changed at each i iteration)
| |> as the name of an object is supposed to be "fixed" ; I have the strong
| feeling
| |> that my question is entirely ridiculous but I have to go to the bottom
| |> of it.
| |>
| |> Thanks.
| |
| | You know how to do a), you know how to do c), but you do not know how
| | to initialise your own class Record with the data you just read???
|
| List<Record> records = new ArrayList<Record>();
| |> for (from beginning to the end of text file) {
| |> (a) gathering of "data" from file for generic record;
| ~ Record record = new Record(data);
| ~ records.add(record);
| |> (c) addition of record(i) into panel for display;
| |> }
|
| H.
| ok Hendrik you propose a List to store my instances but at the first
| iteration you do :
| Record record = new Record(data1);
| at the second iteration you do :
| Record record = new Record(data2);
| then with this what happens to the first instanciated object record as you
| keep using the same name "record" ?
You assign a reference to a new object to the name. The old one is
still there, it is in the list. You can get it back by calling
records.get(1);
| This is basically the reason why I posted my question ?
Read up on Java. It is pass by reference. All Objects (and any
descendant class) in your code are really references to objects on the
heap. Assigning a new object to a reference does not overwrite what it
was previously pointing to (although the garbage collector may decide to
remove it if it is no longer reachable from other parts of you program).
H.
- --
Hendrik Maryns
http://tcl.sfs.uni-tuebingen.de/~hendrik/
==================
http://aouw.org
Ask smart questions, get good answers:
http://www.catb.org/~esr/faqs/smart-questions.html
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org
iEYEARECAAYFAkiEeugACgkQBGFP0CTku6NLPwCfaakHJKPjYeoqvKdyrYeaYzuO
MaEAoI62mhqQ/NmDJgYOgM6J3EA4Tdar
=TBuh
-----END PGP SIGNATURE-----