final int problem

  • Hi ich hab ein Problem einen Integer-Wert auf final zu setzen.
    Das ist EIGENTLICH ziemlich simpel aber ich find nicht den richtigen Syntax. So solls aussehn: final int eigeneklasse[arraywert].variable = 5

    Funktioniert so aber nicht. Ich bekomm ne "illegal start of expression" exception.
    Die variable ist in der eigenen Klasse schon als int definiert.Kann mir jemand sagen was ich falsch mache?

  • Warum willst du das unbedingt so machen? Kopier dir doch einfach den Wert in eine neue Variable.
    final int foo = eigeneklasse[arraywert].variable;

    Information will frei verfügbar sein.

    Don't eat unpeeled hedgehogs.

  • Das Ding ist, jedes Element von diesem Array hat diese variable.Die größe des Arrays kann aber varriern.Aber ich brauche diese Variable von allen Elementen sogut wie immer aber sie dürfen eben nicht geändert werden..und um das von vornherein zu unterbinden(kann mir ja auch mal irgendwo ein Fehler unterlaufen)möchte ich die gern als final int haben...und irgendwie wär das dumm in der Hauptklasse ein Array zu machen was nur diese Werte speichert..

  • Die Art und Weise der Deklarierung und Initialisierung kann auf Grund der Definitionen nicht so stattfinden, wie du es gemacht hast.

    Ich würde dir ein Workarround empfehlen, indem du eine finale Hilfsklasse benutzt , in der du nur zwei Publicmethoden hast mit denenen du die Werte für das Array zurückgibst. Du kannst dann das Array ja bei der Instanzierung der Klasse füllen und es bleibt danach unveränderbar.

    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.
    [Blockierte Grafik: http://www.snippr.de/social/img/logo.png]
    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  • Danke!Ist zwar nicht die Methode mit der ichs jetzt gelöst hab, aber hat mir die zündende Idee gegeben ^^