Anzeige:
Ergebnis 1 bis 6 von 6

Thema: Strings mit "dynamischen" Namen erzeugen

  1. #1
    majos
    Gast

    Strings mit "dynamischen" Namen erzeugen

    Hi!
    Ich habe folgendes Problem:
    Ich möchte Attribute aus einer Datei auslesen und
    diese dann abspeichern. Und zwar jeweils in einem String,
    der genau so heißen soll wie das Attribut. Da ich aber
    nicht weiß, welche Attribute es gibt, muss ich den Namen
    des Strings sozusagen "dynamisch" erzeugen.
    Wie mache ich das?
    Vielen Dank schon mal,
    Grüße

  2. #2
    Registrierter Benutzer Avatar von Boron
    Registriert seit
    07.01.2002
    Beiträge
    827
    Zur Laufzeit Variablen anlegen, deren Namen du nicht kennst (bzw. dieser noch nicht feststeht) geht nicht.
    Das ist ja auch Quatsch. Ein Computer interessiert sich nicht für Variablennamen, wenn das Programm läuft. Er arbeitet dann nur noch mit Speicheradressen.

    Was du machen kannst, ist bsp. eine Hashtable anlegen. Schau dir dazu in der Java API-Doku die Klasse Hashtable an.

    In dieser Klasse kannst du Wertepaare speichern.
    Der erste Wert ist ein "Schlüsselbegriff".
    Der zweite der tatsächliche Wert.
    Du kannst also bspw. "attribut1" -> "Tomatensuppe" speichern.
    Mit dem String "attribut1" findest du in der Hashtable den Zugehörigen Wert wieder.

    Als Schlüsselbegriffe verwendest du dann einfach deine Attributnamen.
    Gruß Boron (der sich oft wegen mieser Rechtschreibung anderer die Augen reiben muss)

    LINUX IS LIKE AN INDIAN TENT: NO GATES, NO WINDOWS AND AN APACHE INSIDE!
    Hardware Monitoring unter Linux -> http://santafu.sourceforge.net (Temperaturen, Lüfterdrehzahlen und Spannungen)

  3. #3
    Registrierter Benutzer Avatar von mwanaheri
    Registriert seit
    28.10.2003
    Ort
    Bayreuth
    Beiträge
    569
    Da gibt es vor allem zwei Möglichkeiten, die mir einfallen:
    wenn sicher ist, das jedes Attribut nur einmal vorkommt, kannst du eine hash-tabelle nehmen, andernfalls kannst du ein kleines Objekt bauen:
    public class HeißtIrgendwie{
    public String attribut = "";
    public String wert = "";
    }
    und dann eine LinkedList aus solchen Objekten bauen.
    Über die kannst du dann iterieren und bei attribut.equals("wasdusuchst") den Wert auslesen.

    Die Hash-Lösung ist zweifellos schneller und sinniger, solange jedes Attribut nur genau ein mal vorkommt.

    edit: da war jemand schneller ;-)
    Das Ziel ist das Ziel.

  4. #4
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    377
    Wieso so kompliziert? Man kann ja in die Hashtable auch listen reinschreiben.
    Amilo D - 2,8 Ghz - ATI Radeon 9000
    Debian GNU/Linux 3.1 (Sarge)

  5. #5
    Registrierter Benutzer Avatar von RogerJFX
    Registriert seit
    13.04.2005
    Beiträge
    35
    das geht schon irgendwie
    if you can't dazzle em with brillance, baffle em with bullshit

  6. #6
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Zitat Zitat von RogerJFX
    das geht schon irgendwie
    Könntest du das bitter unterlassen?

    Einen zwei Wochen alten Thread ausgraben und dann nicht mal ein bischen Information anhängen ist meiner Meinung nach pures Spamming.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •