variablenname errechnen

H

Hzzbjdbirufd

Gast
Hallo,
ist es möglich, einen variablennamen zu errechnen?
heißt ich habe eine Zahl, z.b. 5 und möchte eine Variable, die den Wert im Namen hat

Wert5

Sinn des ganzen ist, ich möchte mehrere Variablen so erstellen (Wert5, Wert6, Wert7, ...). Ich habe erst an ein Array gedacht, um das Problem zu lösen, nur wenn ich das für viele Variablen (>100000000) reicht das Array nicht.

Vielen dank euch
 
G

Gast2

Gast
Das könntest du bestimmt irgendwie über Reflections hinkriegen, aber damit wirste wohl nicht glücklich werden :)
Du könntest eine Map<String, Integer> verwenden in der du deine Werte ablegst. Dann kannst du mit ner Schleife über das keyset laufen und prüfen ob der name deinem kriterium entspricht.
 

Haave

Top Contributor
Nein, das geht nicht (afaik). Ein Bezeichner/Name ist eine Metainformation, die du nicht programmieren kannst.

Für eine Liste mit variabler Länge könntest du aber eine ArrayList (in java.util) verwenden.
 

preachie

Aktives Mitglied
Hallo,

variable Variablen gibt es in Java nicht!

... Ich habe erst an ein Array gedacht, um das Problem zu lösen, nur wenn ich das für viele Variablen (>100000000) reicht das Array nicht.

Wieso sollte ein Array nicht reichen? Oder anderum gefragt, wieso sollte es gehen, wenn Du 100 Mio einzelne Variablen hast?
Mal ganz davon abgesehen, dass mir ernsthaft die Frage nach der Sinnhaftigkeit des Unterfangens kommt ;)
Was genau willst Du denn mit dieser Unmenge an Variablen erreichen? Da gibt es sicherlich bessere Ansätze.
 

Network

Top Contributor
Weil die Arrayplätze über ints angesprochen werden, daher is nen array auf Integer.MAX plätze begrenzt.

EDIT:

Dafür gilt selbiges.

Stimmt!

Aber um es logisch zu umgehen ist es ja noch einfacher ^^ :
Java:
ArrayList<ArrayList<(String/Integer)>

Die 2. ArrayList steht immer jeweils für 1000plus!!!

Man teilt also die ArrayList, in weitere ArrayLists, die immer jeweils tausend Strings/Integer beinhalten.

ENDE GELÄNDE! :D
 

preachie

Aktives Mitglied
Weil die Arrayplätze über ints angesprochen werden, daher is nen array auf Integer.MAX plätze begrenzt.

Hmm, ja okay, das habe ich im Eifer des Gefechts nicht berücksichtigt, wobei 100 Mio noch keinerlei Probleme darstellt, da die Grenze bei einem signed int erst bei ~2,1 Mrd ist.
Desweiteren würde es mich interessieren, was denn passiert, wenn in einer Klasse mehr als Integer.MAX lokale Variablen deklariert sind (mal ganz unabhängig vom Speicherbedarf) ;)

Wie auch immer, ich bleibe dabei, dass man den grundsätzlichen Ansatz hinterfragen sollte.
 

aedu00

Mitglied
Desweiteren würde es mich interessieren, was denn passiert, wenn in einer Klasse mehr als Integer.MAX lokale Variablen deklariert sind (mal ganz unabhängig vom Speicherbedarf) ;)
Grundsätzlich könntest du Variablen definieren bis der Speicher voll ist, bzw. der Stack auf den Heap trifft ;-) Es gibt da aber sicherlich Barrieren auf verschiedenen Levels. Zum einen ist wie bereits erwähnt ein Java-Array mit int definiert, zum anderen darf deine Applikation nur beschränkt Memory verwenden, sonst gibts eine OutOfMemory Exception (Increase heap size in Java to prevent java.lang.OutOfMemoryError)

Wieso sollte eine Klasse durch Integer.MAX_VALUE beschränkt sein? Von einer kompilierten Klasse kannst du mit "javap -c" den Assembler Code anschauen. Dort kannst du sehen wie Variablen genau verwendet werden.
 
G

Gastredner

Gast
Wieso sollte eine Klasse durch Integer.MAX_VALUE beschränkt sein? Von einer kompilierten Klasse kannst du mit "javap -c" den Assembler Code anschauen. Dort kannst du sehen wie Variablen genau verwendet werden.
Eine Klasse nicht (ich meine mal gehört zu haben, dass .class-Dateien nicht größer als 64k werden dürfen, aber da bin ich mir nicht sicher), der Index von Arrays und Listen ist jedoch ein int und damit auf diesen Wertebereich beschränkt.
Ansonsten klingt das nach verkorksten Design - was soll man mit einer Klasse mit 100 Millionen Attributen? Verwalten lässt sich das doch wohl nicht mehr...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Variablen Dynamische Variablenname Java Basics - Anfänger-Themen 9
K Variablenname soll der Inhalt vom String sein Java Basics - Anfänger-Themen 2
F String -> Variablenname Java Basics - Anfänger-Themen 9
Devil0s Java variable in Variablenname Java Basics - Anfänger-Themen 21
M Schleifenzähler an Variablenname anhängen Java Basics - Anfänger-Themen 6
D Variablenname aus Variable ? Java Basics - Anfänger-Themen 15
M Variablenname mithilfe einer schleife erstellen? Java Basics - Anfänger-Themen 2
G Variablenname dynamisch vergeben Java Basics - Anfänger-Themen 10
G variabler variablenname Java Basics - Anfänger-Themen 18
H Variablenname dynamisch festlegen Java Basics - Anfänger-Themen 3
H Variablenname dynamisch festlegen Java Basics - Anfänger-Themen 3
A Variablenname aus Array laden! Java Basics - Anfänger-Themen 11
Bierhumpen Variablenname übergeben? Java Basics - Anfänger-Themen 11
H Variablenname in Schleife ändern Java Basics - Anfänger-Themen 2
G String soll als Variablenname dienen Java Basics - Anfänger-Themen 19
B Variablenname ermitteln Java Basics - Anfänger-Themen 19
A Variablenname aus Variablen zusammensetzen? Java Basics - Anfänger-Themen 2
H Note errechnen! Java Basics - Anfänger-Themen 2
T Abstand zwischen zwei Zeitstempeln errechnen. Java Basics - Anfänger-Themen 3
L Perfekte Zahlen errechnen Java Basics - Anfänger-Themen 13
B Errechnen(Jahre Monate Tage)von einem Datum zu einem anderen Java Basics - Anfänger-Themen 3
B Primzahlen mit Array errechnen! Java Basics - Anfänger-Themen 13
J Primzahlen errechnen.ArrayLists abgleichen Java Basics - Anfänger-Themen 2
O errechnen von Millisekunden Java Basics - Anfänger-Themen 3
R Fakultät einer Zahl errechnen. Java Basics - Anfänger-Themen 7
E Alter errechnen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben