ClassCastException

Status
Nicht offen für weitere Antworten.

barca

Aktives Mitglied
Hallo!
Ich wollte eine Methode schreiben,die Ein vector zu ein double array umwandelt.die Methode ist ok,ich bekomme nur ein ClassCastException.Kann mir jemand sagen,woran es liegen könnte???

Code:
public double [] convert(Vector v){
		
		double[] array= new double[v.size()];
		for (int i = 0; i < v.size(); i++){

			array[i] = ((Double)v.elementAt(i)).doubleValue();
		          }
	                return array;
                            }
 

barca

Aktives Mitglied
der Vector wurde von einem Text Datei eingelesen.in dem Text.Datei sind (double)Zahlen drin.
 

SebiB90

Top Contributor
barca hat gesagt.:
der Vector wurde von einem Text Datei eingelesen.in dem Text.Datei sind (double)Zahlen drin.
sind dann strings in dem vector? wenn ja dann geht das so:
Code:
array[i] = Double.parseDouble((String) v.elementAt(i));
 

Illuvatar

Top Contributor
Das kommt darauf an wie du aus der Textdatrei einliest. Wenn du das mit readLine und Konsorten machst, weiß Java ja nihct, dass das doubles sind, da werden nur Strings im Vector gespeichert. In dem Fall wäre Campinos Lösung korrekt, da so die Strings in doubles gecastet werden. es wäre nur imo ein wenig schöner zu schreiben:
Code:
array[i] = Double.parseDouble(v.elementAt(i).toString());
aber das kommt ja dann aufs Gleiche raus ;)
 

barca

Aktives Mitglied
jetzt bekomme ich java.lang.NumberFormatException: For input string "[D@82ba41"
at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
at java.lang.Double.parseDouble(Unknown Source):bahnhof:
 
R

Roar

Gast
WAS fügst du in deinen vector genau ein? gib mal deinen code!
 

barca

Aktives Mitglied
ICh habe jetzt einen einfachen Vector genommen und nicht ein Text.Datei.

public static double [] convert(Vector v){
double[] ar = {2.3,5.0,4.2};
Vector vec= new Vector();
vec.addElement(ar);

double[] array1= new double[v.size()];

for (int i = 0; i < v.size(); i++){
array1 = Double.parseDouble(v.elementAt(i).toString());

}
return array1;
}


und bei convert(vec) bekomme ich :Exception in thread "main" java.lang.NumberFormatException: For input string: "[D@82ba41"
at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
at java.lang.Double.parseDouble(Unknown Source)
Code:



und wenn ich die obige for-schleife so ändere for (int i = 0; i < v.size()-1; i++){
bekomme ich [D@82ba41als Ergebniss!!!!!!
 
R

Roar

Gast
UMF ja natürlich, du speicherst ja auch keien double werte im array sondern ein ganzes array.
array1 = (double[]) vec.get(0);
 

barca

Aktives Mitglied
Roar hat gesagt.:
UMF ja natürlich, du speicherst ja auch keien double werte im array sondern ein ganzes array.
array1 = (double[]) vec.get(0);
er sagt,cannot convert from []double to double
mit array1 = (double[]) v.elementAt(i); geht auch nicht :bahnhof:
 
R

Roar

Gast
nö, wenn du das genaso übernommen hast, dann nicht. wenn du stattdessen geschrieben hast array1 = v.get(0) schon
 

barca

Aktives Mitglied
also,die beiden Varianten liefern die gleiche Fehlermeldung! sowohl das:array1 = (double[]) v.get(0); als auch das:array1 = (double[]) v.elementAt(i);
 
R

Roar

Gast
also 1. ich weiß noch immer nicht was du im übergebenen vector speicherst und
2. lies meinen post richtig, weder das eine noch das andere steht da
 

barca

Aktives Mitglied
in meinem Vektor sind reelle Zahlen.(siehe oben)
Ich verstehe nicht was du meinst mit weder das eine noch das andere steht da!!!????
 
R

Roar

Gast
1. in vec sind keine zahlen, nur ein array.
2. was in vec steht ist aber doch völlig unerheblich. was steht in v ? das gleiche wie vec? dann gilt das selbe wie oben:
array1 = (double[]) v.get(0);
und nicht array1 = (double[]) v.get(0) oder array1 = (double[]) v.elementAt(i);
 

barca

Aktives Mitglied
ah jetzt!!!sorry,war mein Fehler,ich hab ein Array in dem vec reingefügt... :)
also,in v und vec sind nur reelle Zahlen und kein Arrays!!!
dann funktionniert array1 = (double[]) v.get(0); nicht mehr !!!!
 
R

Roar

Gast
was für objekte hast du in v eingefügt??? zeig mal bitte genau den code wo du elemente in der vektor einfügst
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L ClassCastException (JavaMail API) Allgemeine Java-Themen 3
P ClassCastException bei Verwendung eines Interfaces Allgemeine Java-Themen 7
G ClassCastException Allgemeine Java-Themen 17
A Vererbung Klassen-Downcasting wirft ClassCastException Allgemeine Java-Themen 2
S OOP ClassCastException bei casting von eigener Klasse aus Iterator Allgemeine Java-Themen 3
F Interpreter-Fehler ClassCastException wird bei Schleifenaufruf geworfen Allgemeine Java-Themen 8
T java.lang.ClassCastException: Allgemeine Java-Themen 4
C java.lang.ClassCastException Allgemeine Java-Themen 3
T java.lang.ClassCastException Allgemeine Java-Themen 7
SuperSeppel13 ClassCastException Allgemeine Java-Themen 6
W java.lang.ClassCastException Allgemeine Java-Themen 10
H setWrappedData -> classcastexception Allgemeine Java-Themen 2
G java.lang.ClassCastException Allgemeine Java-Themen 3
G Dubiose ClassCastException in typisierter Map Allgemeine Java-Themen 4
B ClassCastException Allgemeine Java-Themen 2
V ClassCastException bei ArrayList Allgemeine Java-Themen 5
R ClassCastException Allgemeine Java-Themen 14
S Problem mit generics -> ClassCastException und ka wieso Allgemeine Java-Themen 20
S classCastException Allgemeine Java-Themen 4
S ClassCastException beim Casten in eine Klasse Allgemeine Java-Themen 7

Ähnliche Java Themen

Neue Themen


Oben