Portal > Foren > Java > Allgemeine Java-Programmierung > Java und "variable Variablen"???
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 30.06.2005, 11:32 Nach oben    #1
okin
Gast
 
Beiträge: n/a
Standard Java und "variable Variablen"???

Hallo alle zusammen,

ich möchte eine Schleife mit Werten aus einer XML durchlaufen.
Hier sollen XML-Attribute als Variable verwendet werden.

Als Beispiel, wo das eigentliche Problem liegt, soll der folgende Code dienen:
PHP-Code:
class Beispiel
{
 
public static 
void main(String arg[])
{
    
String strVariable "servername";
    
String strValue "localhost";
    
// Hier ist das Problem
    // strVariable soll nun eine variable Variable sein.
    
String strVariable strValue;
}

 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 30.06.2005, 11:49 Nach oben    #2
Erfahrener Benutzer
 
Registriert seit: 02.02.2005
Beiträge: 559
Standard

Nochma langsam, was willst du genau machen? Ich checks grad net so ganz :confused:
Gottzilla ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 30.06.2005, 12:00 Nach oben    #3
okin
Gast
 
Beiträge: n/a
Standard

Ich möchte variable Variablen verwenden.

Ich weiss vorher noch nicht, welchen Namen diese Variablen haben.

Mittels PHP wird dieses durch $$ erreicht.
also so:

$strVariable = "servername";
$strValue = "localhost";

$$strVariable = strValue;

echo $servername; // localhost

JAVA-Syntax (fehlt vielleicht oben zum besseren Verständnis)

System.out.println( servername ); // localhost
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 30.06.2005, 15:31 Nach oben    #4
Erfahrener Benutzer
 
Benutzerbild von peschmae
 
Registriert seit: 29.05.2004
Beiträge: 228
Standard

Das geht in Java nicht. Sowas kann man nur in Scriptsprachen machen (Python, Perl, Php) - aber nicht in Java/C/C++ oder so.

Eine Möglichkeit wäre z.B. eine Map zu verwenden (Key-Value-Paare). Damit könntest du so ein Verhalten simulieren.

MfG Peschmä
__________________
Amazon.de | The Java Trap | Freie Software | Freie Software vs. Open Source | GNU Classpath | GCJ | SableVM
"We should forget about small efficiencies, say about 97% of the time: Premature optimization is the root of all evil." - Donald Knuth
peschmae ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.07.2005, 15:35 Nach oben    #5
matt
Gast
 
Beiträge: n/a
Standard

jepp.
Java kann soetwas nicht.
Allerdings solltest du keine map verwenden, sondern lieber ein Hash - das funktioniert genausogut und ist einfach nur unglaublich schnell!

http://java.sun.com/j2se/1.5.0/docs/...l/HashMap.html

Die funktioniert so ähnlich wie die assoziativen arrays in PHP. allerdings noch ein Wort der Warnung: Bei Hashes musst du am anfang überlegen, wie viele einträge hinein sollen, wobei: dieser wert mit 1.3 multipliziert ist dann die kapazität, die du benötigst. (denn ein Hash sollte man nicht zu mehr als 3/4 füllen)
Bedenke dabei aber eines: ein Hash zu vergrößern, sobald es existiert ist ein unglaublich zeitaufwendiger prozess. Daher rate ich dir, sehr hoch zu schätzen, wie viele einträge dein Hash benötigt. Wenn du also schäzt, dass du nur 20 einträge benötigst, nimm lieber das eineinhalb bis zweifache davon...

liebe grüße,
Matt
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.07.2005, 17:08 Nach oben    #6
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.161
Standard

Matt... das ist so nicht richtig.
peschmae meinte, genau wie du, eine HashMap.
Du _kannst_ einer HashMap sagen, wieviele Einträge sie ungefähr haben wird, aber du _musst_ das nicht.

Ich für meinen Teil habe so gut wie nie festgelegt, wieviele Einträge eine HashMap haben wird. Das ist wirklich nicht notwendig - außer es geht um mehrere tausend Einträge.
Meistens weiß man auch gar nicht, wieviele Einträge gespeichert werden.
__________________
Patrick Gotthardts Weblog.
pago ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.07.2005, 15:17 Nach oben    #7
matt
Gast
 
Beiträge: n/a
Standard

TheDragonMaster, doch das ist richtig: Wenn du das nicht angibst, ist die Startkapazität 16 Einträge

Zitat:
HashMap()
Constructs an empty HashMap with the default initial capacity (16) and the default load factor (0.75).
der Constructor sieht also so aus:
PHP-Code:
public HashMap()
{
this(16);

Es ist nur so, dass du es bei diesen "geringen" mengen ohnehin nicht merkst, wenn die größe in der Laufzeit verändert wird. Was allerdings trotzdem kein grund ist, mit schlampiger programmierung anzufangen (dazu eignen sich die Microsoft Programmiersprachen ja ohnehin besser )

liebe grüße,
matt
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.07.2005, 16:08 Nach oben    #8
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.161
Standard

*g*

Ich weiß, dass HashMap eine Standard-capacity von 16 hat. Nur klang dein Beitrag so, als ob es Jahre dauern würde, die Kapazität zu erweitern.
Wenn man weiß, wieviele Einträge in einer Map seien werden, dann kann und sollte man das angeben, aber ich für meinen Teil weiß das so gut wie nie - und bin trotzdem noch nicht gestorben.
__________________
Patrick Gotthardts Weblog.
pago ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.07.2005, 18:18 Nach oben    #9
matt
Gast
 
Beiträge: n/a
Standard

jepp, aber was ich sagen will ist: lieber eine Hash Map mit einer Kapazität von 2000 (selbst wenn man nur 100 benötigt) alseine die zu schnell voll ist (Ich weiss nicht, wie Java das intern verwendet, aber es gibt ja durchaus auch hashmaps wo alle einträge dann listen sind - dann kannst du in einem index auch mehr als ein Element speichern
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.07.2005, 20:06 Nach oben    #10
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.161
Standard

Ähm, nein, da möchte ich dir definitiv wiedersprechen. Ich warte lieber ne halbe Nanosekunde darauf, dass meine Kapazität erhöht wird, als dass ich den Speicher unnötig volllade - das ist nämlich ein dauerhafter Schaden.
__________________
Patrick Gotthardts Weblog.
pago ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.07.2005, 21:57 Nach oben    #11
matt
Gast
 
Beiträge: n/a
Standard

hm.. bei kleinen dingen ist es eine nanosekunde. bei etwas größeren vielleicht schon einige sekunden. 2000 pointer, die alle auf null verweisen sind jedoch keinerlei speicherbelastung mehr heutzutage.
Btw: wenn du mit einem hash von der größe 16 beginnst und im lauf der zeit bzw. bei der initialisierung da hunderte datensätze hineinkommen, dann ist das schon merklich.
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Developers-guide.net Projekt sucht willige Java Programmierer beny_mcde Projekte unserer Mitglieder 11 10.08.2006 13:03
[JAVA] Wie man aus Java mit einem PHP-Script kommuniziert sparrow Tutorials 0 25.03.2006 22:24
[BUCH] Java ist auch eine Insel kampet Literatur 5 22.02.2005 14:40
Zwist um Java als Open Source kampet Nachrichten 0 05.07.2004 03:37


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:19 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45