Casting in Java |
24.03.2007, 19:29 | Auf diesen Beitrag antworten » | |||||||||||||||
donvito | Casting in Java Hallo ihr Lieben, das Casting in Java bringt mich bald um den Verstand, hier mein Programm:
Ich kriege folgenden Fehler: Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Double at Point2D.distance(Point2D.java:28) at Point2D.main(Point2D.java:47) Laut unserem Professor muss sich aber ein Object einfach so casten lassen. Beispiel aus der Vorlesung:
Nu verstehe ich nicht was der Unterschied ist. Wieso gehts bei mir nicht? Gruß donvito |
|||||||||||||||
|
||||||||||||||||
25.03.2007, 18:07 | Auf diesen Beitrag antworten » | |||||||||||||||
Tobias | Tja, das hast du völlig falsch verstanden mit dem Casten. Jedes Objekt in Java ist vom Typ "Object" abgeleitet. D.h. man könnte z.B. einen String so erstellen:
Nun kann es aber sein, dass du eine String-Methode aufrufen willst, wie z.B. charAt(0). Das geht mit o nicht, weil o eine Object-Referenz ist. Da du aber weißt, dass o auf einen String referenziert, kannst du o nach String casten:
Was nicht geht ist einfach einen String in einen Double umzucasten, weil diese Typen nicht voneinander abgeleitet worden sind. Dafür gibt es andere Methoden. Z.B.
|
|
Verwandte Themen
Die Beliebtesten » |
Die Größten » |
|
Die Neuesten » |
|