Seneste forumindlæg
Køb / Salg
 * Uofficiel Black/White liste V3
Login / opret bruger

Forum \ Programmering og webdesign \ Programmering
Denne tråd er over 6 måneder gammel

Er du sikker på, at du har noget relevant at tilføje?

Array i java

Af Bruger gunman | 01-11-2003 20:56 | 1319 visninger | 16 svar, hop til seneste
Er det muligt at ligge forskellige data typer ind i et array i java? f.eks et string og int. og hvis man kan hvordan gør man så??
--
Vildere!
#1
tågeåge
Semi Supporter
01-11-2003 21:02

Rapporter til Admin
En array er enten eller... en string af f.eks. navne eller en int. af f.eks. fortløbende numre. Til gengæld kan man lave 2 arrays, der henviser til den samme konstruktør ... Håber du blev klogere!
--
Går man ud eller ind i en havestue?
#2
gunman
Bruger
01-11-2003 21:12

Rapporter til Admin
hmm man kan vel lave et array af objekter og disse objekter kan så være af forskellig type??
--
Vildere!
#3
tågeåge
Semi Supporter
01-11-2003 21:16

Rapporter til Admin
#2 yep - så længe du definerer dem i klassen !
--
Går man ud eller ind i en havestue?
#4
Demos
Mega Supporter
01-11-2003 21:21

Rapporter til Admin
#0: Nej - det kan man ikke. I Java skal objekterne i et array være af samme type. Hvis du har brug for at have forskellige typer objekter i et array skal du se nærmere på de forskellige klasser, der implementerer Collection interfacet (http://java.sun.com[...] - fx. ArrayList eller LinkedList.
--
This post is shareware. Please register to fully understand it.
#5
gunman
Bruger
01-11-2003 21:27

Rapporter til Admin
#4 man kan godt lave objekter med forskellig type i det samme array!!! har i hvert fald lige selv gjort det:-)
--
Vildere!
#6
tågeåge
Semi Supporter
01-11-2003 21:31

Rapporter til Admin
#5 Men så er de vel også defineret i klassen inden, ikke???
--
Går man ud eller ind i en havestue?
#7
gunman
Bruger
01-11-2003 21:47

Rapporter til Admin
nej man kan sætte objekterne direkte ind i arrayet:-) for(i=0; i<arr.length; i++){ arr[i][0]= str+i; arr[i][1]= new Integer(type); arr[i][2]= new Integer(facilitet); } her er str en string..
--
Vildere!
#8
Demos
Mega Supporter
01-11-2003 22:36

Rapporter til Admin
#7: Det du har gjort det er jo at skabe et flerdimensionelt array. Så vidt jeg kan se er arr et array af arrays. Hvert array indeholder så objekter af forskellig type. Det du så vidt jeg ved ikke kan er at sige: Integer[3] ints = new Integer(); ints[0] = new Inteter(1); ints[1] = new Integer(42); ints[2] = new String("foo"); Den sidste linie burde give en fejl.
--
This post is shareware. Please register to fully understand it.
#9
gunman
Bruger
01-11-2003 22:49

Rapporter til Admin
ja det er et dobbelt array jeg sidder og arbejder med.... men det er ligegyldigt om det er dobbelt eller enkelt! Man kan sagtens have forskellige objekter i et almindeligt array, har selv lige testet ved at skære en dimension væk i mit prog..:-)
--
Vildere!
#10
Demos
Mega Supporter
01-11-2003 22:57

Rapporter til Admin
#9: Nu sidder jeg ikke lige med en Java compiler ved hånden, men det tvivler jeg altså meget på kan lade sige gøre. Hvis det var tilfældet, burde du jo kunne kompliere min kodestump i #8. I stedet vil jeg citere Thinking In Java som jeg så du refererede til i en anden tråd: "When you create an array, you create it to hold a specific type (which is related to the third factor—an array can hold primitives, whereas a container cannot). This means that you get compile-time type checking to prevent you from inserting the wrong type or mistaking the type that you’re extracting." (http://home.insightbb.com[...]
--
This post is shareware. Please register to fully understand it.
#11
gunman
Bruger
01-11-2003 23:11

Rapporter til Admin
du har ret i at din kodestump ikke fungerer.. det er heller ikke sådan man skal lave det! Man skal lave et array af objekter, dvs: Object[] arr; Herefter sættes objekter ind i arrayet, hvilken type objekter har er compileren ligeglad med..
--
Vildere!
#12
kope
Semi Supporter
01-11-2003 23:16

Rapporter til Admin
Alle elementerne i et array skal være af samme data type.
--
Dette indlæg er forsøgt holdt neutralt men er nok farvet af at være skrevet af http://www.kope.dk[...] Danmarks billigste edb udstyr og kabler.
#13
Polloloco
Super Nørd
01-11-2003 23:22

Rapporter til Admin
4 og 12 har ret. hvis du bruger Object må Object være defineret i klassen som et eller andet, der ikke er samme "datatype" (string er ikke en datatype i java).
--
http://service.futuremark.com[...] - Two wrongs don't make a right, but three lefts do
#14
Demos
Mega Supporter
01-11-2003 23:39

Rapporter til Admin
#11: Selvfølgelig kan du upcaste (eller er det downcaste...) alle dine objekter til Object, men så står du jo bare med problemet, når du så skal hente dem ud igen. Så er du jo nødt til at finde ud af (eller gætte på), hvad de engang har været. #13: Jeg tror nu altså java.lang.string (http://java.sun.com[...] ville blive frygtelig ked af ikke at blive kaldt en klasse... Lidt pedantisk kan man jo altid blive ; ).
--
This post is shareware. Please register to fully understand it.
#15
Polloloco
Super Nørd
01-11-2003 23:50

Rapporter til Admin
det er jo netop det jeg gør. det er IKKE en wrapper klasse
--
http://service.futuremark.com[...] - Two wrongs don't make a right, but three lefts do
#16
svesken
Elitebruger
02-11-2003 22:26

Rapporter til Admin
kan umiddelbart ikke se ideen i at have et array bestående af int blandet med string? Anyway du kan bruge en simpel klasse til formålet og herefter indsætte instanser af denne i dit array. Er faktisk ikke klar over om elementerne i LinkedList skal være af samme tipe som ved array.
--
we are all made of stares..

Opret svar til indlægget: Array i java

Grundet øget spam aktivitet fra gæstebrugere, er det desværre ikke længere muligt, at oprette svar som gæst.

Hvis du ønsker at deltage i debatten, skal du oprette en brugerprofil.

Opret bruger | Login
NYHEDSBREV
Afstemning