Problem mit LinkedList

  • Hallo Java Experten-

    ich habe versucht eine LinkedList aus Arrays zu erstellen. Das Erstellen funktioniert auch super, aber beim auslesen liefert er mir nur Objects zurück.

    Frage: Wie kann ich diese Objects wieder in Arrays verwandeln (die sie auch korrekterweise noch sind- zumindest liefert object.getClass().getName() den korrektern Wert. Mit cast hab ich schon alles möglich probiert, leider erfolglos... Ein einfaches Zuweisen funktioniert auch nicht...

    Ich hab dann dasselbe auch mit einer LinkedList aus LinkedLists (statt Arrays) probiert - selbes Problem.

    irgendwelche Ideen?

    Dankeschön schon mal.

  • kenn mich zwar nicht ganz aus bei deiner frage aber wenn du zb eine ArrayList von Person Objekte in ein Person-Array umwandeln willst mach es so:

    Code
    ArrayList l = new ArrayList(); // assume Person objects in the list
    // fill list
    Person[] pa = (Person[])l.toArray(new Person[l.size()]);

    wennst java 1.5 nimmst hast sogar noch type safty bei der arraylist.....

    hth ponifaax

  • danke für die schnelle antwort!

    Also hier erstelle ich die LinkedLIste:


    und das auslesen hab ich bisher auf 2 varianten probiert (die beide nicht funktionieren):

    V1 (Versuch, gleich die Arrays rauszunehmen):

    liefert:

    Code
    Mastermind.java:90: incompatible types
    found   : java.lang.Object
    required: int[]
    				    values=history.get(i);

    ja, und dann hab ichs noch irgendwie mit Class und casten versucht, ich hoffe das ist jetzt richtig reproduziert:

    V2:

    das liefert dasselbe:

    Code
    Mastermind.java:101: incompatible types
    found   : java.lang.Object
    required: int[]
    					    int[]values=c.cast(o);

    ich hoffe das war einigermassen verständlich...

  • OK ich versuchs nochmal besser zu formulieren:

    Ich habe eine Liste die aus Array-Objekten besteht. Jedes Element der LIste ist ein Array.

    Wenn ich eines dieser Arrays aus der Liste rausnehm, dann krieg ich ein Object, mit dem ich nix anfangen kann weil ich Daten aus meinen Arrays brauch...

    Problem: wie kann ich das Object, das ich aus der Liste geholt habe (und das auch noch immer ein Array ist - hab ich mit getClass().getName() oder so ähnlich schon überprüft...), wieder in ein Array verwandeln?

    bzw gibt es eine einfachere Methode sowas zu konstruieren? (Ziel ist es eine Tabelle zu erstellen die beliebig viele Zeilen haben kann, aber immer genau 3 Spalten, daher hab ich mir gedacht ich nehm für die Spalten ein 3stelliges Array und für die Zeilen eine Liste die eben diese Arrays enthält)


  • die zweite lösung ist besser (übersichtlicher und weniger fehleranfällig). funktioniert aber erst ab java > 1.5.

  • Tach jungs, wollte fragen, ob jemand schon mit eclipse 3 c/c++-header-Datei erstellt hat.
    Habe das Keyword "native" in java datei benutzt und wollt diesen header erstellen aber leider konnte ich nicht.
    was ich weiß, dass es die sache mit javah.exe geht aber leider konnte es mit eclipse 3 noch nicht erreichen.
    Hat jemand eine Idee?

    Grüße.

  • Zitat von Samer

    Tach jungs, wollte fragen, ob jemand schon mit eclipse 3 c/c++-header-Datei erstellt hat.
    Habe das Keyword "native" in java datei benutzt und wollt diesen header erstellen aber leider konnte ich nicht.
    was ich weiß, dass es die sache mit javah.exe geht aber leider konnte es mit eclipse 3 noch nicht erreichen.
    Hat jemand eine Idee?

    Grüße.

    Hallo Samer!

    1. ist das hier wohl ziemlich offtopic. :confused:

    2. um eine c/c++ header datei mit eclipse zu erstellen legst du aus eclipse heraus eine neue datei mit der endung .h an und fertig. :)

    3. um aus einer java application auf nativ compilierten code zuzugreifen, musst du dich in das Java Native Interface einlesen.

  • Hi Jungs!
    Ich habe die pdf-Dateien :
    http://www.cs.umanitoba.ca/~eclipse/7-JNI.pdf
    http://www.cs.umanitoba.ca/~eclipse/8-JNI.pdf
    so richtig gelesen und habe alles verstanden und habe die installation hingekriegt aber als ich das beispiel "Hallo World"
    in 8-JNI.pdf implementieren wollte hat es nicht geklappt:
    ich habe die Hello.java und makefile erstellt und sollt normalerweise nach der Speicherung die header-datei erstellt werden aber leider kamm die nicht raus und hatte ich eine Fehlermeldung "lauching failed".

    Könntet ihr bitte weiter helfen, es ist sehr wichtig und eilig.
    Grüße

  • Hallo Samer!

    Also wenn du uns nur diese pdf zeigst, die vermutlich richtigen code enthalten, wie sollen wir dann wissen, wo du einen fehler gemacht hast?

    wenn das problem noch aktuell ist:

    • mach eine shell auf (cmd/bash/...)
    • lass dir die gesamte verzeichnisstruktur deines projektes ausgeben(mit dir/ls)
    • führe die jeden einzelnen schritt in der konsole aus bis du auf deinen fehler triffst
    • kopiere das gesamte output der konsole, also von der verzeichnisstruktur bis hin zu der fehlermeldung hier ins forum
    • [ CODE] tags nicht vergessen!


    so können wir nämlich nachvolziehen, was du machst und wo es schiefgeht.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!