Aus einer String Variablen ein Objekt erstellen

Lit-Web

Aktives Mitglied
Hallo Leute,

wie kann ich folgendes in Java umsetzen?

Java:
// Klassenname einer Klasse im System bzw. Package
String objectName = "MyClass";

// soll eine Objektinstanz auf MyClass bewirken
Object myObj = new objectName();

In PHP geht dies sehr einfach und da habe ich das schon tausend mal gemacht, aber in Java bekomme ich das nicht hin. Habe da auch über Google und die Board Suche hie rnichts wirklich hilfreiches gefunden.

Geht das überhaupt? Wenn ja wie?

Vielen Dank für eure Hilfe

Gruß Lit-Web
 
M

maki

Gast
Nur sehr "umständlich" über reflection, das willst du nicht, in Java ist sowas ein Spezialfall, braucht man unter normalen umständen nicht.
 
M

maki

Gast
naja umständlich ist was anders...
Object o = Class.forName(objectName).newInstance();
Sicherlich, wenn man Exceptionhandling etc. weglässt und sich nur auf einen Defaultkonstruktor beschränkt;)
Deswegen stand umständlich auch in "" ;)

Wie dem auch sei, Anfänger haben sich von Reflection fernzuhalten ;)
 

thewulf00

Bekanntes Mitglied
Ich möchte hinzufügen, wenn Anfänger auf solche Mittel zurückgreifen (grad in Java fehlende PHP-Sprachelemente sind da beliebt), ist das i.d.R. ein Fehler im Design.
Du kannst das hier bestimmt mit Interfaces lösen.
 

Lit-Web

Aktives Mitglied
So nun will ich mich auch mal zu Wort melden.

Im Hintergrund läuft ein Strategy Pattern zur Berechnung von unterschiedlichen Hotelzimmern ( Einzel, Doppel, Sweet ).
Das mache ich natürlich über ein Interface, was heißt der Teil zur speziellen Berechnung ist lose von der Anwendung gekoppelt.
Aber wenn ich zum Beispiel bei einer Buchung über ein Drop Down Feld eine Zimmerart wähle, dann kommt von dem grafischen Element ja ein String zurück.
Die Klasse hat den gleichen Namen wie der String aus dem Feld und somit muss ich die Instanz ja davon bilden.
Denn wenn ich mit einem Interface arbeiten will brauche ich auch irgendwo eine Objektinstanz.
Genau deshalb fragte ich ja nach der dynamischen Erzeugung eines Objektes, weil es in dem Fall meiner Meiung nach nötg ist.

Wenn jemand eine andere Idee dazu hat, dann immer her damit, bin da für alles offen.

Gruß Lit-Web
 
M

maki

Gast
Ist nicht nötig, kannst ja zB. ein Enum nehmen.

Was ist denn deine GUI?
Gibt bestimmt einen Konverter für sowas... kein Grund für dich zu Reflection zu greifen ;)
 

Lit-Web

Aktives Mitglied
Ist nicht nötig, kannst ja zB. ein Enum nehmen.

Was ist denn deine GUI?
Gibt bestimmt einen Konverter für sowas... kein Grund für dich zu Reflection zu greifen ;)

Ich habe das erst mal ohne Gui getestet, also mit manuel eingegebenen Parameter. Außerdem ist das alles erst mal Übung.
Das es in der Entwicklung mit GUI dann einen Converter geben soll ist mir nicht bekannt.
Aber egal wie aus der GUI, in dem Fall dann mal eine DropDown Feld kommt ja ein String heraus, dass heißt es müsste ja dann über Reflaction ablaufen? Anders kann ich mir das nicht erklären.

Ich hoffe, Du meinst eine Suite! ;)

Verdammt du hast recht. :oops:
 
G

Gast2

Gast
Du kannst auch wie bereits erwähnt Enums definieren, und die dann in die Dropdown liste legen.
 

Crian

Top Contributor
Du kannst auch wie bereits erwähnt Enums definieren, und die dann in die Dropdown liste legen.

Und wenn du das nicht willst... aus einer Combobox kommen ja keine beliebigen Strings. Wenn du absolut keine Enums einlagern willst, dann schreibst du dir eine kleine Fabrik, die zu einem String passend ein Objekt erzeugt.

Wobei das böse ist, wenn das Produkt dann mal internationalisiert werden sollte - oder auch nur jemand aus "Sweet" in der Box "Suit" macht und plötzlich nichts mehr geht.
 

Lit-Web

Aktives Mitglied
Du kannst auch wie bereits erwähnt Enums definieren, und die dann in die Dropdown liste legen.

Ok das muss ich mal nachlesen wie das gehen soll, vor allem das ich dann im Bezug auf die Strategy die richtig benötigte Berechnungsinstanz bekomme.
Ich will diesen Berechnungsteil eben so gut es geht lose von der ANwendung koppeln.
 
G

Gast2

Gast
So zb. könntest du das machen:
Java:
public enum Hotelzimmer {
	EINZEL(new BerechnungsInstanzA()), 
	DOPPEl(new BerechnungsInstanzB()), 
	SUITE(new BerechnungsInstanzC());
	
	private BerechnungsInstanz bi;
	
	private Hotelzimmer(BerechnungsInstanz bi) {
		this.bi = bi;
	}
	
	public BerechnungsInstanz getBi() {
		return bi;
	}
}
Die Enums legst du dann in die DropDown box und kannst darauf dann getBi() aufrufen um die passende Instanz zu bekommen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
MoxMorris Wie macht man String[] = String[] aus einer anderer Methode? Java Basics - Anfänger-Themen 18
W String einer Textdatei in einzelne Stringobjekte pro Zeile aufteilen Java Basics - Anfänger-Themen 14
M RandomAccessFile int und String gleichzeitig in einer Datei Java Basics - Anfänger-Themen 49
G Position einer unbekannten 3-stelligen-Zahl in einem String finden Java Basics - Anfänger-Themen 15
H Erste Schritte Nach einer Zahl n soll n Mal der String untereinander ausgegeben werden Java Basics - Anfänger-Themen 3
O Ich habe einen String und soll mit matches schauen, ob ein Buchstabe zu einer geraden ANzahl im String vorkommt, wie soll das gehen? Java Basics - Anfänger-Themen 7
A eine neue normale String-Array von einer String-Array, die in for schleife ist, schaffen Java Basics - Anfänger-Themen 3
S Gesamten String in einer Zeile ausgeben Java Basics - Anfänger-Themen 2
J String Problem kann das einer erklären Java Basics - Anfänger-Themen 13
J Aufruf einer Methode über einen String Java Basics - Anfänger-Themen 11
geekex Double zu String umwandeln in einer Methode Java Basics - Anfänger-Themen 28
J String splitten und weiter einarbeiten in einer Methode? Java Basics - Anfänger-Themen 11
Alex/89 String in einer txt ersetzen Java Basics - Anfänger-Themen 15
W String in einer Zeile mit Alphabet füllen? Java Basics - Anfänger-Themen 8
OlafHD String in einer If-Anweisung Vergleichen Java Basics - Anfänger-Themen 2
A Folgende Nullen einer Kommazahl aus String entfernen Java Basics - Anfänger-Themen 3
S Datentypen Mit einer Methode String arrays geben Java Basics - Anfänger-Themen 9
B ja ja schon wieder einer mit einer public static void main(string[] args) Frage... Java Basics - Anfänger-Themen 8
A Variablen Übergeben des Inhalts einer Variable in einen String Java Basics - Anfänger-Themen 17
J Int Array und String in einer neuen Methoder übergeben Java Basics - Anfänger-Themen 7
G Teil einer String speichern Java Basics - Anfänger-Themen 4
D Name einer Variable als String nutzen Java Basics - Anfänger-Themen 13
J Einem String-Array in einer for-Schleife Strings zuweisen - Klappt nicht in einer for-Schleife Java Basics - Anfänger-Themen 5
L Problem beim Einlesen einer Datei in einen String Java Basics - Anfänger-Themen 12
H string zu einer Gleitkommazahl zusammenführen Java Basics - Anfänger-Themen 20
B Wert einer String Variable an andere String Variable in anderer Klasse uebergeben Java Basics - Anfänger-Themen 5
F ComboBox sowie String in einer JTable Spalte Java Basics - Anfänger-Themen 2
T String aus einer ArrayList suchen Java Basics - Anfänger-Themen 7
D Datentypen TreeSet aus einer List<String[]> befüllen Java Basics - Anfänger-Themen 18
Burny91 FileReader / FileWriter / BufferedWriter An einer bestimmten Zeile String ersetzten Java Basics - Anfänger-Themen 2
vandread Kann in einer String-ArrayList keine Zeichen anhängen Java Basics - Anfänger-Themen 5
S Datentypen String mit fester Länge (Rückgabewert einer Methode) Java Basics - Anfänger-Themen 2
H String in Methode einer anderen Klasse übergeben Java Basics - Anfänger-Themen 5
Z Kann man String[] in einer ArrayList verwenden? Java Basics - Anfänger-Themen 3
Developer_X jede Zeile einer Datei mit einem String verketten Java Basics - Anfänger-Themen 16
A String[] array in vertikale Spalte einer JTable ausgeben? Java Basics - Anfänger-Themen 8
M String nach einer bestimmten Anzahl von Zeichen trennen Java Basics - Anfänger-Themen 2
H String an Ende einer text File anhängen Java Basics - Anfänger-Themen 2
T charAt funktion mit einer string zeichenkette nutzen. WIE? Java Basics - Anfänger-Themen 13
F Kann man den Namen einer Variable in ein String Konvertieren Java Basics - Anfänger-Themen 2
H String aus einer Klasse in die andere ! Java Basics - Anfänger-Themen 9
B Position einer Ziffer im String bestimmen Java Basics - Anfänger-Themen 4
D String/StringBuffer mit Zeichen einer Sorte füllen Java Basics - Anfänger-Themen 14
N Ausgabe des Inhalts eines String Arrays in einer ArrayList Java Basics - Anfänger-Themen 4
J String von einer an die andere Klasse übergeben? Java Basics - Anfänger-Themen 11
J Lesen einer Datei in einen String oder Char? Java Basics - Anfänger-Themen 3
T In einer HashMap einen String löschen Java Basics - Anfänger-Themen 20
A String Zeichen löschen in einer bestimmten Reihenfolge Java Basics - Anfänger-Themen 25
A String von einer Klasse in die ander zu bringen Java Basics - Anfänger-Themen 10
R in einem string nach einer zahl suchen und auslesen...... Java Basics - Anfänger-Themen 3
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
ixChronos Letzten 4 Ziffern einer großen Zahl ausgeben Java Basics - Anfänger-Themen 3
P Objekt einer Methode eines anderen Objektes übergeben Java Basics - Anfänger-Themen 5
L Variablenwerte aus einer Methode übergeben Java Basics - Anfänger-Themen 2
E Arrays in einer ArrayList miteinander vergleichen Java Basics - Anfänger-Themen 12
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
Shadowrunner Variablen Gibt es eine Möglichkeit die Ziffern/Stellen einer Zahl fest zu legen? Java Basics - Anfänger-Themen 3
D remove Object von einer Liste von Obejcts Java Basics - Anfänger-Themen 3
FunkyPhil94 Wert in einer Lambda Funktion erhöhen Java Basics - Anfänger-Themen 3
T Aufruf der Methode einer Oberklasse, wenn sie in der Unterklasse überschrieben ist. Polymorphie. Java Basics - Anfänger-Themen 2
B Kommunikation mit Seriellen Schnittstellen + Integration einer lib Java Basics - Anfänger-Themen 1
A Daten aus einer HashMap aus einer DB speichern und mit neuen Werten vergleichen Java Basics - Anfänger-Themen 8
P Welches SDK für das erstellen einer ausführbaren Datei? Java Basics - Anfänger-Themen 4
D Länge einer Liste aufrufen. Java Basics - Anfänger-Themen 19
J Klassen Instanzen einer Klasse in einer anderen unabhängigen Klasse nutzen Java Basics - Anfänger-Themen 4
B Alle Strings bis zu einer Maimallänge aufzählen, die Bedingung erfüllen Java Basics - Anfänger-Themen 13
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
Soranix Erste Schritte Struktur als Anfänger // Von einer Klasse auf ein Objekt einer anderen Klasse zugreifen. Java Basics - Anfänger-Themen 6
T Fibonacci mit einer Hilfsmethode berechnen Java Basics - Anfänger-Themen 10
S Hilfe zu einer Aufgabe Java Basics - Anfänger-Themen 5
M Radius von einer ellipse bestimmen Java Basics - Anfänger-Themen 7
Say Fehlenden Code finden in einer while-Schleife? Java Basics - Anfänger-Themen 11
M Zufallszahl generieren mit einer linken und rechten Grenze Java Basics - Anfänger-Themen 3
N Was Passiert mit dem Namen einer Variable, wenn man diese einer Liste Hinzufügt Java Basics - Anfänger-Themen 16
_user_q Wie eine Methode/Funktion aus einer Klasse mit Constructor aufrufen? Java Basics - Anfänger-Themen 20
W Objekte einer ArrayList in txt-datei schreiben mit Paths? Java Basics - Anfänger-Themen 2
S Best Practice Fragen zu Projektstruktur einer Datenbank-Abfrage-App (MVC) Java Basics - Anfänger-Themen 13
T Variable von Objekten in einer Methode überprüfen Java Basics - Anfänger-Themen 26
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
S Textausgabe in einer For-Schleife Java Basics - Anfänger-Themen 12
M Spezifischen Wert einer Zeile aus .txt Datei entnehmen Java Basics - Anfänger-Themen 15
B Popups mit Klicksabfangen zumAusfüllen einer .ods Datei Java Basics - Anfänger-Themen 0
E Suchfunktion in einer Liste Java Basics - Anfänger-Themen 39
T ungeordnete Werte-Paare in einer Liste Java Basics - Anfänger-Themen 7
FireHorses Einen Command erst nach einer Chateingabe aktivieren Java Basics - Anfänger-Themen 1
frager2345 Singleton-Muster Java ->Nur eine Instanz einer Klasse erzeugen können Java Basics - Anfänger-Themen 45
F wie kann ich die Position des letzten Vokals innerhalb einer Zeichenkette ermitteln? Java Basics - Anfänger-Themen 5
H Kapselung protected aber in einer Kindklasse nicht zugänglich Java Basics - Anfänger-Themen 5
R Methoden Werte einer ArrayList als Parameter übergeben. Java Basics - Anfänger-Themen 4
B Den Dateipfad einer Java Datei durch Code in Selbiger finden? Java Basics - Anfänger-Themen 10
LilliCherry Array in einer Zeile ausgeben Java Basics - Anfänger-Themen 6
B Attribute eines Objekts einer Klasse durch statische Methode einer 2. Klasse ändern? Java Basics - Anfänger-Themen 32
L Dauerhaftes Speichern einer Eingabe bei einer ArrayList Java Basics - Anfänger-Themen 26
V Hilfe bei Implementierung einer boolean Methode Java Basics - Anfänger-Themen 6
stormyark Fehler beim überschreiben einer Variable Java Basics - Anfänger-Themen 1
H Kompliziertes Sortieren einer ArrayList mit Objekten(Sortieren nach X und Y) Java Basics - Anfänger-Themen 11
T Permanentes speichern von Objekten in einer ArrayList Java Basics - Anfänger-Themen 6
Saiko Zeilen einer Datei einlesen Java Basics - Anfänger-Themen 3
G zwei Instanzen einer Klasse Java Basics - Anfänger-Themen 29

Ähnliche Java Themen

Neue Themen


Oben