Umwandlung von Objekt zu Double in Java

Ich versuche viel von ClassCastExceptions in meinem code, die ausgehend von einer einzigen kritischen Punkt. Beginnen werde ich mit der Bereitstellung von Hintergrundinformationen für diese Frage

Bin ich beim Lesen verschiedener Arten von Werten aus einer csv-Datei. Das folgende ist eine Momentaufnahme der Klasse, die hält Sie.

public class Row {
private Object[] data;

public Object getAtIndex(int i)
{
    return data[i];
}
}

Holding für die verschiedenen Zeilen einer Datei, ich bin mit einem

ArrayList<Row> rows;

Den problem liegt in einer Funktion, die zurückgeben sollte, ein Double[] mit den Werten einer bestimmten Spalte gespeichert, die in der ArrayList. Meiner aktuellen Funktion sieht wie folgt aus

public Double[] getByIndex(int i)
    {
        Double[] result = new Double[rows.size()];
        String temp;
        for(int j=0;j<rows.size();j++)
        {
            temp =(String)rows.get(j).getAtIndex(i); //java.lang.ClassCastException: java.lang.Double cannot be cast to java.lang.String
            result[j]=Double.parseDouble(temp);
        }
        return result;
    }

Diese getByIndex() wirft ClassCastExceptions, wenn Sie aufgerufen. Ich werde sicherstellen, dass ich diese Funktion aufrufen nur für diejenigen Spalten, die zu erwarten sind Double-Werte.
Gibt es eine andere Möglichkeit zur Erleichterung dieses Objekts zu Double-conversion. Mein Fortschritt ist ins stocken geraten, weil dieses problem.
Bitte helfen Sie.

Ihre Zeilen bereits enthält einen doppelten auf einen Ihrer Anrufe, und Sie versuchen zu casten zu einem String. Wie füllen Sie Ihre Zeilen?
Vielen Dank an alle! Besonderen Dank an @Wesir für einen KUSS-konforme Lösung 🙂 ich wusste nie, Antworten auf StackOverflow sind so schnell. Macht mich wollen, aktiv zu sein in so einer lebendigen Gemeinschaft. You guys rock!

InformationsquelleAutor The Mitra Boy | 2012-06-04

Schreibe einen Kommentar