10. december 2008 - 02:39
Der er
6 kommentarer og 1 løsning
Får ArrayStoreException
Har en metode som returnerer: størrelse på funkt: [[2], [3], [4]] dvs. som List. Jeg har prøvet at caste hver værdi til Double vha. Double [] x = (Double[])xam.toArray(new Double[xam.size()]); (xam indeholder de nævnte værdier foroven), men får ArrayStoreException. Hva gør jeg galt ?
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
10. december 2008 - 03:11
#1
Hvis jeg skulle gætte så har du ikke en liste af double men en liste af liste af Double. import java.util.ArrayList; import java.util.List; public class ListCast { public static void main(String[] args) { List<Double> dl = new ArrayList<Double>(); dl.add(1.2); dl.add(3.4); dl.add(5.6); System.out.println(dl); Double[] da = (Double[])dl.toArray(new Double[dl.size()]); for(double d : da) { System.out.println(d); } List<List<Double>> dll = new ArrayList<List<Double>>(); dll.add(new ArrayList<Double>()); dll.add(new ArrayList<Double>()); dll.add(new ArrayList<Double>()); dll.get(0).add(1.2); dll.get(1).add(3.4); dll.get(2).add(5.6); System.out.println(dll); for(List<Double> l : dll) { System.out.println(l.get(0)); } } } udskriver: [1.2, 3.4, 5.6] 1.2 3.4 5.6 [[1.2], [3.4], [5.6]] 1.2 3.4 5.6
10. december 2008 - 10:30
#2
Når du gemmer en primitiv double i en liste, så laves den autmatisk om til et Doble wrapper objekt: List<Double> ds = new ArrayList<Double>(); double d = 42.0; ds.add(d); //<-- Her konverteres d til Double
10. december 2008 - 19:03
#3
jeg bruger følgende metode: public List getFejl(){ List res = new ArrayList(); dbHelper help = new dbHelper(); database db = new database(); Integer [] da= new Integer[0]; for(int i=0;i<help.fejl0.size();i++) { res.add(Arrays.asList(new Double[] { new Double(help.fejl0.get(i).toString()) })); } for(int i=0;i<help.fejl1.size();i++) { res.add(Arrays.asList(new Double[] { new Double(help.fejl1.get(i).toString()) })); } for(int i=0;i<help.fejl2.size();i++) { res.add(Arrays.asList(new Double[] { new Double(help.fejl2.get(i).toString()) })); } for(int i=0;i<help.fejl3.size();i++) { res.add(Arrays.asList(new Double[] { new Double(help.fejl3.get(i).toString()) })); } System.out.println(help.fejl+" Til sidst."); System.out.println("Bruger lig med: " + db.bruger); return res; } Det må være den som gør at jeg komme til at oprette array i array ????
10. december 2008 - 21:25
#4
hvordan caster jeg fra ArrayList til double [ ], uden brug af generics.... Nu hvor vi er ved det, hvordan opdaterer man op til java 5.0 så jeg kan bruge generics ?
10. december 2008 - 22:12
#5
har fundet ud af hvordan jeg caster den... I må begge gerne lægge svar
11. december 2008 - 00:55
#6
svar
11. december 2008 - 00:57
#7
PS: Jeg gætter på at du kan skifte fra liste af liste til kun liste.
Kurser inden for grundlæggende programmering