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 fra Infor
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