Peter: variable als attributname

Hallo,

Wie kann ich denn in JAVA eine variable als attributname verwenden.
Beispiel klasse a hat eine variable public int b
und dieses b soll in einer varibalen stehen daß ich beispielweise den aufruf
String c="b";
a.[c] schreiben kann und dann a.b bekomme. also das nette $$varname in php :-)
geht das ? wenn ja wie ?

Gruss
 Peter

  1. Hallo,

    Wie kann ich denn in JAVA eine variable als attributname verwenden.
    Beispiel klasse a hat eine variable public int b
    und dieses b soll in einer varibalen stehen daß ich beispielweise den aufruf
    String c="b";
    a.[c] schreiben kann und dann a.b bekomme. also das nette $$varname in php :-)
    geht das ?

    So wie du das beschreibst nicht, nein.
    Es gibt allerdings Hash-Tabellen. Dort kannst du beliebigen Objekten
    andere Objekte zuweisen. Da Strings auch Objekte sind, kannst du also
    Strings andere Objekte zuweisen.
    Verwende hierfür java.util.Hashtable oder java.util.HashMap.

    Das geht dann ungefähr so:
      HashMap meineHashMap = new HashMap();

    meineHashMap.put("hans", "karlsruhe");
      meineHashMap.put("theo", "münchen");
      meineHashMap.put("axel", "hamburg");

    System.out.println(meineHashMap.get("theo"));

    Ausgabe wäre damit "münchen".

    Aber, wie gesagt, sowohl Schlüssel (hier "hans", "theo" und "axel")
    als auch zugeordnete Werte ("karlsruhe", ...) können beliebige Objekte
    sein.

    Wozu brauchst du denn das von dir weiter oben beschriebene Verhalten?
    Also daß Instanzvariablen in anderen Variablen stehen. Vermutlich
    gibt es dafür eine seeeehr viel saubere Lösung als die von dir
    vorgeschlagene. Du mußt nur sagen, was du willst.

    Gruß
    Slyh

    PS: Du plenkst. Bitte stell das ab.

    1. Also was ich eingetlich machen will:
      Ich habe eine Klasse mit eingien Attributen, um genau zu sein Farben, diese Attribute der Klasse heißen eben zB blau, gelb, gruen etc. ds sind int arrays wo dann jeweils noch die rgb-werte der Farben gespeichert werden.
      in einer anderen klasse bekommen ich nun einen String geliefert der einem dieser Farbname entspricht und jetzt will ich eben die rgb-werte dazu haben. d.h. ich muß eben das Attribut, daß genau diesem String entspricht ansteuern. Ist kar geworden was ich meine? Also mir fällt keine wirklich tolle Lösung dazu ein...

      Gruss
       Peter

      1. Hi,

        Also mir fällt keine wirklich tolle Lösung dazu ein...

        und das, obwohl Dir Slyh eine frei Haus geliefert hat?

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Hi,

          Also mir fällt keine wirklich tolle Lösung dazu ein...

          und das, obwohl Dir Slyh eine frei Haus geliefert hat?

          Es ging um eine bessere Lösung wie er selbst unter dem Thread schreibt !

          Wer lesen kann ist klar im Vorteil!

          Gruss
           Peter

          1. Hi,

            Es ging um eine bessere Lösung wie er selbst unter dem Thread schreibt !

            Es gibt unter Java _keine_ bessere Lösung für Dein Problem als die Verwendung von Maps!

            Der Verwendung von Reflection in Produktivsystemen stehe ich grundsätzlich sehr skeptisch gegenüber.

            Viele Grüße,
            Martin

            1. Hallo!

              Der Verwendung von Reflection in Produktivsystemen stehe ich grundsätzlich sehr skeptisch gegenüber.

              doch, dann ist die erste Version langsam und man kann sie per Patch beschleunigen...

              Dominik

              1. Hi,

                doch, dann ist die erste Version langsam und man kann sie per Patch beschleunigen...

                Kann man diese Aussage auch verständlicher formulieren? Mir ist nämlich nicht klar, was Du meinst.

                Viele Grüße,
                Martin

          2. Hi,

            Es ging um eine bessere Lösung

            _noch_ besser?

            wie er selbst unter dem Thread schreibt !

            Was Slyh schrieb, schrieb er vor Deiner Erklärung, konnte also auch nicht entscheiden, ob sie gut ist oder nicht.

            Wer lesen kann ist klar im Vorteil!

            Ah, danke für den Hinweis. Heißt das, Du möchtest hier gar keine Hilfe mehr bekommen?

            Cheatah

            --
            X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
            1. Ah, danke für den Hinweis. Heißt das, Du möchtest hier gar keine Hilfe mehr bekommen?

              ...die Kritikfähigkeit kennt keine Grenzen, Respekt, wenn Du Dich im RealLife auch immer gleich so angegriffen fühlst dann seh ich schwarz...

              Gruss
               Peter

              1. Hi,

                Ah, danke für den Hinweis. Heißt das, Du möchtest hier gar keine Hilfe mehr bekommen?
                ...die Kritikfähigkeit kennt keine Grenzen, Respekt, wenn Du Dich im RealLife auch immer gleich so angegriffen fühlst dann seh ich schwarz...

                Du hegst augenscheinlich also tatsächlich den Wunsch, Dich hier wie die Axt im Walde aufzuführen. Für jemanden, der hier etwas von anderen _will_, ist das ein sehr eigenwilliges Vorgehen. Vielleicht solltest Du Dir einfach mal vor Augen führen, in welcher Situation Du Dich eigentlich befindest, bevor Du Deine Sprechschale in ungeahnten Größenverhältnissen öffnest.

                Cheatah

                --
                X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
                X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
                X-Will-Answer-Email: No
                X-Please-Search-Archive-First: Absolutely Yes
                1. Du hegst augenscheinlich also tatsächlich den Wunsch, Dich hier wie die Axt im Walde aufzuführen. Für jemanden, der hier etwas von anderen _will_, ist das ein sehr eigenwilliges Vorgehen. Vielleicht solltest Du Dir einfach mal vor Augen führen, in welcher Situation Du Dich eigentlich befindest, bevor Du Deine Sprechschale in ungeahnten Größenverhältnissen öffnest.

                  *lol* wie die Axt im Walde...stimmt schon mein posting davor war einfach zu krass , das sollte echt zensiert werden. Ich muß die ja dermaßen zugesetzt haben damit das tut mir ehrlich leid, will nie wieder ein kritisches Wort in den mund nehme

                  Gruss
                   Peter (rückwärts gehend , sich verneigend)

          3. Hallo,

            Es ging um eine bessere Lösung wie er selbst unter dem Thread schreibt !

            Nein. Ich schrieb "Vermutlich gibt es dafür eine seeeehr viel saubere
            Lösung als die von _dir_ vorgeschlagene."

            Ich habe mal das "dir" hervorgehoben. Ich wollte damit zum Ausdruck
            bringen, daß deine vorgeschlagene Lösung mit an Sicherheit grenzender
            Wahrscheinlichkeit nicht sauber wäre, und durch eine anständige Lösung
            ersetzt werden kann.

            Die Verwendung einer Hash-Tabelle (also Map) ist die einzig sinnvolle
            Lösung an dieser Stelle.

            Gruß
            Slyh

  2. Hallo,

    Wie kann ich denn in JAVA eine variable als attributname verwenden.
    Beispiel klasse a hat eine variable public int b
    und dieses b soll in einer varibalen stehen daß ich beispielweise den aufruf
    String c="b";
    a.[c] schreiben kann und dann a.b bekomme. also das nette $$varname in php :-)
    geht das ? wenn ja wie ?

    Achja, du könntest außerdem vermutlich mit Reflection arbeiten. (Siehe
    ein Java-Buch deiner Wahl.) Aber, wie gesagt, mit großer Wahrscheinlichkeit
    gibt es eine sinnvolle Lösung für dein Problem.

    Gruß
    Slyh