/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Problem: objekter/array....
Fra : holst


Dato : 05-12-00 10:31

Davs,

Jeg har et array fyldt med navne, og jeg ønsker at skabe objekter, som
hedder disse navne. Hvordan gør jeg det??
Jeg har bl.a. prøvet følgende i en for-løkke:

Type Array[i] = new Type(parametre);

Compileren fortæller mig, at Array'et er defineret andet sted i koden....det
er også rigtigt, men hvordan kan jeg ellers give de nye objekter de samme
navne, som dem der står i Arrayet.

holst






 
 
Dennis Thrysøe (05-12-2000)
Kommentar
Fra : Dennis Thrysøe


Dato : 05-12-00 11:03

Måske sådan noget her?

String[] navne = {"a", "b", "c"};
Type[] objekter = new Type[navne.length];

for (int i=0; i<navne.length; i++)
objekter[i] = new Type(navne[i]);


-dennis


holst wrote:

> Davs,
>
> Jeg har et array fyldt med navne, og jeg ønsker at skabe objekter, som
> hedder disse navne. Hvordan gør jeg det??
> Jeg har bl.a. prøvet følgende i en for-løkke:
>
> Type Array[i] = new Type(parametre);
>
> Compileren fortæller mig, at Array'et er defineret andet sted i koden....det
> er også rigtigt, men hvordan kan jeg ellers give de nye objekter de samme
> navne, som dem der står i Arrayet.
>
> holst


holst (05-12-2000)
Kommentar
Fra : holst


Dato : 05-12-00 11:25



Dennis Thrysøe <dt@netnord.dk> skrev i en
nyhedsmeddelelse:3A2CBD5D.4030308@netnord.dk...
> Måske sådan noget her?
>
> String[] navne = {"a", "b", "c"};
> Type[] objekter = new Type[navne.length];

Laver du et nyt tomt array med samme længde som navne[]?? Hvorfor??

> for (int i=0; i<navne.length; i++)
> objekter[i] = new Type(navne[i]);

Elementet objekter[i] vil altid være null, da arrayet er tomt. Det er jo
ikke meningen - det skal indeholde navnene!!
Jeg har prøvet følgende men det virker ikke:

String[] core = {"a", "b",.....};

for (int i = 0; i<core.length; i++)
Core core[i] = new Core(parametre);

Core er en klasse, som jeg selv har programmeret! Compileren tror at jeg
først definerer core[] som en string, og dernæst i forløkken forsøger at
definere core[] til at være af typen Core. Det jeg i virkeligheden ønsker er
at indholdet i core[i] skal være navnet på det nye objekt af typen Core!!

holst




Dennis Thrysøe (05-12-2000)
Kommentar
Fra : Dennis Thrysøe


Dato : 05-12-00 12:16

holst wrote:

> Dennis Thrysøe <dt@netnord.dk> skrev i en
> nyhedsmeddelelse:3A2CBD5D.4030308@netnord.dk...
>
>> Måske sådan noget her?
>>
>> String[] navne = {"a", "b", "c"};
>> Type[] objekter = new Type[navne.length];
>
>
> Laver du et nyt tomt array med samme længde som navne[]?? Hvorfor??

Jeg havde misforstået dit formål.


>
>> for (int i=0; i<navne.length; i++)
>> objekter[i] = new Type(navne[i]);
>
>
> Elementet objekter[i] vil altid være null, da arrayet er tomt. Det er jo
> ikke meningen - det skal indeholde navnene!!
> Jeg har prøvet følgende men det virker ikke:
>
> String[] core = {"a", "b",.....};
>
> for (int i = 0; i<core.length; i++)
> Core core[i] = new Core(parametre);
>
> Core er en klasse, som jeg selv har programmeret! Compileren tror at jeg
> først definerer core[] som en string, og dernæst i forløkken forsøger at
> definere core[] til at være af typen Core. Det jeg i virkeligheden ønsker er
> at indholdet i core[i] skal være navnet på det nye objekt af typen Core!!

Du behøver ikke erklere en ny variabel for hver plads i arrayet. Bare
instantiere et nyt objetk og tildele referencen til en plads i arrayet.
Men igen jeg havde misforstået formålet.

Jeg forstår ikke 100% hvad du mener med "navnet på det nye objekt af
typen Core". Du vil i mit eksempel (omskrevet) få en reference til en
instans af Core, som så igen kunne indeholde navnet, som kom med i
constructoren.
Hvis du tænker på navnet på en variabel (local eller field) som referer
instansen, så skal du kigge på Reflection. Men hvad skulle du i givet
fald bruge dét til? Det lyder forkert.


-dennis


Morten Primdahl (05-12-2000)
Kommentar
Fra : Morten Primdahl


Dato : 05-12-00 11:43

> Jeg har et array fyldt med navne, og jeg ønsker at skabe objekter, som
> hedder disse navne. Hvordan gør jeg det??

Det kan du ikke umiddelbart, se tråden "Navngivning af et objekt" fra
29.11.2000.

Mvh Morten

--
Morten Primdahl Caput A/S Tel +45 70 12 24 42
morten@caput.com Nygade 6 Fax +45 70 11 24 42
http://www.caput.com/ DK-1164 Kbh K

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408942
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste