[JAVA] ClassCastException door nextElement

Pagina: 1
Acties:

  • rjeggens
  • Registratie: Juni 2000
  • Laatst online: 06-02-2025
Voor een opdracht van school moet ik gebruik maken van een Hashtable. Wanneer ik sequentieel door de tabel wil lopen d.m.v. een Enumeration van de keys, krijg ik deze error:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
Exception occurred during event dispatching:
java.lang.ClassCastException: Artikel
    at Order.haalTotaal(Order.java:64)
    at Opdracht4.actionPerformed(Opdracht4.java:153)
    at java.awt.Button.processActionEvent(Button.java:329)
    at java.awt.Button.processEvent(Button.java:302)
    at java.awt.Component.dispatchEventImpl(Component.java:2593)
    at java.awt.Component.dispatchEvent(Component.java:2497)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:339)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:131)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:98)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:85)

Deze foutmelding wordt gegenereerd door het volgende stukje code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public float haalTotaal() {
    float fltTotaal = 0;
    Enumeration eTable = htOrder.keys();
    OrderRegel orTmp;
        
    // Doorloop het lijstje met sleutels en haal
    System.out.println("Voor hasMoreElements ("+htOrder.size()+")");
    while(eTable.hasMoreElements()) {
        System.out.println("Voor nextElement");
        orTmp = (OrderRegel) eTable.nextElement();
        System.out.println("Na nextElement");
        fltTotaal = fltTotaal + orTmp.haalBedrag();
    }
    return fltTotaal;
}

htOrder is de Hashtabel

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
De foutmelding lijkt mij superduidelijk? De regel staat zelfs aangegeven :? .

Als je even wat info print van je elementen kan je ook makkelijk zelf nagaan wat het probleem is.

Je voert een cast uit naar een ongeldig type. Om precies te zijn van een Artikel naar een OrderRegel. Wellicht moet je eens goed kijken wat er in die Hashtable zit :) .

Het komt dus ook niet door nextElement, maar door jouw cast :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • rjeggens
  • Registratie: Juni 2000
  • Laatst online: 06-02-2025
Oei.... oei... dit komt hard aan.. ik had niet htOrder.keys, maar htOrder.elements moeten gebruiken..

Ik zit hier nog maar 2 uur tegenaan te kijken hoor :) Dank je iig voor de uitleg :)

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
rjeggens: Ik zit hier nog maar 2 uur tegenaan te kijken hoor :)
Mooi, dan zal je voortaan wel uitkijken ;) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment