hi,
ist es mit java irgendwie möglich, einen string als variablennamen auszuwerten?
zb:
String typeA = "test";
String type = "typeA";
S.o.p(type); // sollte dann test ausgeben
so wie in php das $$
lg
d
hi,
ist es mit java irgendwie möglich, einen string als variablennamen auszuwerten?
zb:
String typeA = "test";
String type = "typeA";
S.o.p(type); // sollte dann test ausgeben
so wie in php das $$
lg
d
Grundsätzlich nein, allerdings kannst du mittels Reflection auf die Member eines Objekts zugreifen. Lokale Variablen sind davon allerdings ausgenommen. Meistens lässt sich eine ähnliche Funktionalität herstellen, indem man eine Hashtable <String, Object> heranzieht und mittels put(String, Object) und get(String) Objekte ablegt bzw. wieder aufruft.
Grundsätzlich nein, allerdings kannst du mittels Reflection auf die Member eines Objekts zugreifen. Lokale Variablen sind davon allerdings ausgenommen. Meistens lässt sich eine ähnliche Funktionalität herstellen, indem man eine Hashtable <String, Object> heranzieht und mittels put(String, Object) und get(String) Objekte ablegt bzw. wieder aufruft.
ok thx, habs jetzt mit einer map gelöst. dachte das geht auch einfacher.
so in etwa kannst das machen:
import java.lang.reflect.Field;
public class Test {
public static void main(String[] args) throws Exception {
A a = new A();
a.fieldA = "a";
a.fieldB = "b";
String fieldName = "fieldA";
Field f = a.getClass().getField(fieldName);
Object value = f.get(a);
System.out.println(value);
}
}
class A {
public String fieldA;
public String fieldB;
}
Alles anzeigen
perfekt, danke!
eine frage hätt ich noch:
hab eine JList, die mit einem Vector befüllt ist (Vector mit Objects; die Objectklasse hat eine passende toString() Methode, um sinnvolle Sachen anzuzeigen)
wie kann man jetzt das ausgewählte object zurückbekommen (list ist singleselect)
MyObject m = mySelectList.getSelectedObject(); <- gibt es natürlich nicht, funktioniert das überhaupt? (oder bekommt man immer nur das value zurück was dann auch tatsächlich in der JList steht)
//edith sagt:
MyObject selected = (MyObject)mySelectList.getSelectedValue();
normal mit list.getElementAt(i);
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!