Hashtable Value(Array) in String und dann Ausgeben

Status
Nicht offen für weitere Antworten.

DerAnfänger

Mitglied
Hi , ich habe nach einiger Zeit mal wieder ein Problem :)

Ich habe einen Array in den Elemente eingefügt habe . Diesen Array habe ich in eine Hashtable gepackt . Mit einem dazugehörigen Key .
Dies mache ich immer wieder so das am Ende viele Key - Value paare in der Hashtable liegen.

Nun möchte ich über den dazugehörigen Key den Array aus der Hashtable holen und in einen String umwandeln. Die Methode zum umwandeln von Array in String habe ich schon.
Den String möchte ich dann ausgeben .

Wenn ich über Hashtable.get () mir ein Object hole wie kann ich es dann in einen String umwandeln und ausgeben??

Grüße DerAnfänger
 

Der Müde Joe

Top Contributor
>Wenn ich über Hashtable.get () mir ein Object hole wie kann ich es dann in
>einen String umwandeln und ausgeben??

>Die Methode zum umwandeln von Array in String habe ich schon.

Mit der ominösen Methode eben.

EDIT:
Ausgeben halt mit:
System.out.println(ominöseMethode(hashtable.get(key)));
 
Zuletzt bearbeitet:

DerAnfänger

Mitglied
Damit wir hier nicht von einer Ominösen Methode Reden , hier mal der Code:

Java:
public static String arrayToString(String[] InputArray) {
    String result = "";
    String separator = " , ";
    if (InputArray.length > 0) {
        result = InputArray[0];  
        for (int i=1; i<InputArray.length; i++) {
            result = result + separator + InputArray[i];
        }
    }
    return result;
}

Natürlich habe ich
System.out.println(arrayToString(HashtableTravel.get(Reise)));
bereits probiert. Nur leider gibt er mir darauf hin die Daten des TextFeldes aus , welches im Array gespeichert ist. Ich möchte aber gerne den Text(inhalt haben). Deswegen meine Frage!

Trotzdem danke für die Antwort :)
 
S

SlaterB

Gast
in dem Array können nur Strings sein, und die werden ausgegeben,
ein Problem ist derzeit nicht sichtbar

> Nur leider gibt er mir darauf hin die Daten des TextFeldes aus , welches im Array gespeichert ist.

was ist ein 'TextFeld' oder 'Daten eines TextFeldes'?
in einem String[] können doch nur Strings sein

vielleicht liegt das Problem an einer anderen Stelle, es werden die falschen Strings ins Array eingefügt
 

Landei

Top Contributor
Und wenn es nicht 100% auf das Format ankommt, kannst du dir arrayToString sparen, es gibt eine Methode Arrays.toString(meinArray)
 

DerAnfänger

Mitglied
OK hier mal mein beiden Klassen:
Java:
public void newTravel (String TravelName) {

        String Name = getTextField().getString();
        String Datum = getTextField1().getString();
        String Typ = ("");

        if (choiceGroup.getSelectedIndex()== 1){
           Typ = ("Geschäflich");
        }
        else{
           Typ = ("Privat");
        }
        
        TravelLog[0] = Name; //Strings werden in Strinng Array gepackt
        TravelLog[1] = Datum;
        TravelLog[2] = Typ;

        HashtableTravel.put(TravelName, TravelLog); // Array wird mit dazugehörigem Key gespeichert.
    }

Java:
public void getTravel (String TravelName) {

        
        String text = new String (HashtableTravel.get(TravelName).toString()); //Array wird aus der Hashtable Geholt und in einen String umgewandelt
        
        System.out.println (text); //String wird ausgegeben

    }

Als Ausgabe kommt: [Ljava.lang.String;@e5125d64
 
S

SlaterB

Gast
niemals die Buchstaben "new String(" irgendwo hintereinander benutzen!

und in getTravel() benutzt du weder die Methode arrayToString() noch Arrrays.toString(),
da ist eine verkorste Ausgabe doch nicht verwunderlich
 

Atze

Top Contributor
slater wollte wohl damit sagen:

String text = new String (HashtableTravel.get(TravelName).toString()); erzeugt den string mit dem hash, den du nicht haben willst. Object.toString() liefert dir in dem fall nämlich nicht den inhalt der string-variable, sondern identifiziert das objekt anhand eines strings mit typenbezeichnung und hashcode, bspw. [Ljava.lang.String;@e5125d64

in deinem fall wäre wohl folgendes korrekt:

String text = (String)HashtableTravel.get(TravelName);

das ist der inhalt von HashtableTravel.get(TravelName), den du haben willst
 
S

SlaterB

Gast
nana,

String text = (String)HashtableTravel.get(TravelName);
wird nicht funktionieren, ein String[] kann nicht auf String gecastet werden

die Grundlage ist erstmal
String[] array = HashtableTravel.get(TravelName);

danach
Java:
println(array); // komisches Zeug als Ausgabe

println(array.toString()); // dasselbe komisches Zeug, unnötig, println ruft selber toString() auf

println(new String(array.toString())); // dasselbe komisches Zeug, unnötig, println ruft selber toString() auf, 
                                       // neues String-Objekt völlig umsonst erzeugt, unbedingt vermeiden

println(eine der beiden guten Methoden fürs array); // dürfte was besseres rauskommen
 

DerAnfänger

Mitglied
Mhh ,
bei String[] array = HashtableTravel.get(TravelName);
wird ein String Array verlangt , es wird aber ein Object aus der Hashtable geliefert.
Keine Ahnung warum ich packe ja schließlich ein String Array rein.
 
S

SlaterB

Gast
mit Generics ginge das, sonst

String[] array =(String[]) HashtableTravel.get(TravelName);

Variablen klein schreiben!
 

Snooky

Mitglied
Wenn du Eclipse benutzt, müsste der dir eine Warnung (gelb) Anzeigen. Nämlich sowas wie "Hashtable is a raw type and should be parametrized".

Wenn du einfach nur ein Hashtable erstellst, kann da jedes Objekt rein, ganz egal von welcher Klasse es kommt, da ja jede Klasse, die du oder irgendwer anders schreibt automatisch vom Typ Object ist.
Da du nichts anderes angegeben hast, nimmt deine Hashtable nun die String Arrays und parkt sie als Object.

Probier mal sowas:
Java:
Hashtable<Integer, String[]> HashtableTravel = new Hashtable<Integer, String[]>();

Das sagt Java, dass die Keys deiner Hashtable Integer sind und die dazugehörigen Werte String[].
Danach kannst du aber auch nur noch Integer/String[] Paare dort ablegen.

Alternativ den String[]-Cast von SlaterB nutzen (ist das ein Cast?)

Edit: Sehe gerade, du nutzt <String, String>. Das sollte eigentlich auch gehen.
 

DerAnfänger

Mitglied
Das genaue Festlegen auf <String , String []> klappt nicht , da Generics der Java ME anscheinent nicht bekannt sind.

Mit dem Vorschlag String[] array =(String[]) HashtableTravel.get(TravelName);
habe ich es auch probiert , kommt das selbe bei raus!
 
Zuletzt bearbeitet:

DerAnfänger

Mitglied
Problem hat sich erldigt , ich bekomme jetzt die richtige Ausgabe mit:

Java:
public void getTravel (String TravelName) {


        String[] array =(String[]) HashtableTravel.get(TravelName);

        String text = new String (arrayToString(array));

        System.out.println (text);

    }

Danke für eure Hilfe !!
 
S

SlaterB

Gast
niemals "new String(" ?!§?!3498w0397oehjlskö di<nj7pw38a750<c m9paru8p93!!
 

Der Müde Joe

Top Contributor
um SlaterB zu zitieren..

Das wird nicht gern gesehen: new String (

Da kommt schon ein String von deiner Methode, kein Grund nochmals eine Kopie davon zu erstellen.

EDIT:
zu spät.....:D
 
S

SlaterB

Gast
stimmt, warum eigentlich nicht,

kann man ja ruhig machen, dann auch gleich
new String(new String(alterString));
oder
new String(newString(new String(new String(alterString))));

sicher ist sicher ;)
 

Der Müde Joe

Top Contributor
>Warum eigentlich nicht?

"Hallo" ist schon ein String
nun:
String s = new String("hallo");

erstellt einen String aus "hallo" und macht dann eine Kopie vom String in ein neus (new) Objekt.
so ca...

EDIT:
der ist ja am rasen...zu spät
 

DerAnfänger

Mitglied
Ok , ok steinigt mich das ich das ich die Ressource von einem String verschwendet habe :)
Komischer weise wird es so auch in Büchern gelehrt.
Aber gut ich mach es ja schon weg.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Key anhand von Value finden (Hashtable) Java Basics - Anfänger-Themen 3
F Hashtable mit String[] als value Java Basics - Anfänger-Themen 2
S Value von ein Hashtable collectionen Java Basics - Anfänger-Themen 3
W Hashtable Integer als Value Java Basics - Anfänger-Themen 6
O HashTable kann ohne Performance-Verlust in Multithreaded-Anwendungen eingesetzt werden. Java Basics - Anfänger-Themen 6
B Hashtable Java Basics - Anfänger-Themen 3
H Klassen Auf eine Hashtable aus mehreren Klassen zugreifen Java Basics - Anfänger-Themen 12
arti28 Verkaufsautomat Enumerations HashTable Java Basics - Anfänger-Themen 1
D Hashtable Java Basics - Anfänger-Themen 4
K Hashtable mit eigenen Konstruktor Java Basics - Anfänger-Themen 2
K NullPointerException in der Hashtable Java Basics - Anfänger-Themen 4
T Collections Hashtable gezielt auslesen. Java Basics - Anfänger-Themen 13
B HashTable & Strings übergeben Java Basics - Anfänger-Themen 4
A Input/Output Hashtable Ausgabe Java Basics - Anfänger-Themen 1
S Hashtable Java Basics - Anfänger-Themen 2
T Werte in Hashtable neu zuweisen Java Basics - Anfänger-Themen 3
P 2D Welt, Hashtable Java Basics - Anfänger-Themen 5
D Hashtable/Hashmap Java Basics - Anfänger-Themen 2
D In Hashtable suchen Java Basics - Anfänger-Themen 3
yampi Objektsammlung - Hashtable, Vector, Arrays Java Basics - Anfänger-Themen 8
L Hashtable nicht wirklich geeignet für mein Vorhaben? Java Basics - Anfänger-Themen 3
P | zu einer hashtable hinzufügen Java Basics - Anfänger-Themen 7
D java.lang.outofmemoryerror java heap space bei Hashtable Java Basics - Anfänger-Themen 3
S Fortsetzung meiner frage (hashtable) danke vorab an alle Java Basics - Anfänger-Themen 3
S BITTE UM HILFE HASHTABLE/import java.util.Hashtable in Ecplipse Java Basics - Anfänger-Themen 12
A Verschachtelte Hashtable ausgeben. Java Basics - Anfänger-Themen 3
D Eine Liste wie ne HashTable, nur mit auslesbaren Key . . . Java Basics - Anfänger-Themen 31
G Hashtable füllen Java Basics - Anfänger-Themen 2
G Gesamte Hashtable ausgeben Java Basics - Anfänger-Themen 3
L Arbeiten mit Vectoren in einer Hashtable Java Basics - Anfänger-Themen 2
A Unterschied zwischen HashMap und Hashtable Java Basics - Anfänger-Themen 20
G Sortierter Hashtable? Java Basics - Anfänger-Themen 3
D Eine abgeänderte Hashtable erstellen Java Basics - Anfänger-Themen 3
K Probleme mit java.util.hashtable Java Basics - Anfänger-Themen 10
G Hashtable -> Ordnerstruktur Java Basics - Anfänger-Themen 10
M Hashtable gleichzeitigen Zugriff verhindern Java Basics - Anfänger-Themen 11
C Problem mit Hashtable Java Basics - Anfänger-Themen 6
M Hashtable an Datenbank schicken Java Basics - Anfänger-Themen 3
F invertierung einer Hashtable Java Basics - Anfänger-Themen 4
P HashTable auslesen und in createDocument ausgeben Java Basics - Anfänger-Themen 4
T Warum kann Hashtable get Methode nicht funktionieren? Java Basics - Anfänger-Themen 3
N NullPointerException bei meiner Hashtable Java Basics - Anfänger-Themen 2
M Hashtable oder Hashmap mit Inhalt vorbelegen Java Basics - Anfänger-Themen 2
C Hashtable-get Java Basics - Anfänger-Themen 2
K Hashtable mischen (shuffeln)? Java Basics - Anfänger-Themen 4
H Objekte in einer Hashtable am einfachsten sortieren Java Basics - Anfänger-Themen 13
G Hilfe! Wie Kreise in Hashtable ablegen und wieder auslesen? Java Basics - Anfänger-Themen 2
G unterschied hashtable und hashmap? Java Basics - Anfänger-Themen 3
A Hashtable - 3 Suchmöglichkeiten Java Basics - Anfänger-Themen 4
G hashtable und unsafe, unchecked Code Java Basics - Anfänger-Themen 3
L Hashtable Verständnis Frage Java Basics - Anfänger-Themen 4
R Hashtable ohne Values Java Basics - Anfänger-Themen 5
G Hashtable oder was sonst? Java Basics - Anfänger-Themen 8
S Hashtable & Datei Java Basics - Anfänger-Themen 4
S Hashtable probleme Java Basics - Anfänger-Themen 6
N ein array in der hashtable Java Basics - Anfänger-Themen 6
W Hashtable oder was Anderes Java Basics - Anfänger-Themen 8
I Warum ließt er den Inhalt der Hashtable nicht? Java Basics - Anfänger-Themen 5
G die keys einer Hashtable sortieren Java Basics - Anfänger-Themen 15
D Hashtable gibt eigenartiges wieder Java Basics - Anfänger-Themen 2
G hashtable jeden wert mit trim() bearbeiten Java Basics - Anfänger-Themen 3
K Objekte und deren Anzahl speichern, hashtable? Java Basics - Anfänger-Themen 9
P hashtable Java Basics - Anfänger-Themen 8
V Hashtable ausgeben Java Basics - Anfänger-Themen 4
V Suchen und ausgeben - Hashtable Java Basics - Anfänger-Themen 3
J HashTable Java Basics - Anfänger-Themen 4
G Inhalt einer Hashtable ausgeben Java Basics - Anfänger-Themen 2
A Hashtable als Rückgabewert Java Basics - Anfänger-Themen 3
N maximale Anzahl Schlüssel in einem Hashtable Java Basics - Anfänger-Themen 7
T Hashtable und Vektor Java Basics - Anfänger-Themen 3
R Hashtable wird falsch ausgegeben Java Basics - Anfänger-Themen 5
B Hashtable.containsKey Problem Java Basics - Anfänger-Themen 13
S HashMap mehrere Keys zu einem Value Java Basics - Anfänger-Themen 3
I JSON - cannot deserialize from Object value Java Basics - Anfänger-Themen 16
C Long value an Stringbuilder übergeben, equals Methode funktioniert nicht Java Basics - Anfänger-Themen 2
J Java call by Value oder Reference Java Basics - Anfänger-Themen 35
R Call-by-Value, Call-by-Reference, Call-by-Name Ausgabe Java Basics - Anfänger-Themen 1
D String value change listener Java Basics - Anfänger-Themen 2
G Java Object value und entity? Java Basics - Anfänger-Themen 2
ms_cikar Den Wert einer Hex. value bestimmten. Java Basics - Anfänger-Themen 8
R Boolean value ohne Kontrollstrukturen ändern Java Basics - Anfänger-Themen 5
F Entity vs value Java Basics - Anfänger-Themen 3
U Worin besteht der Unterschied zwischen call by reference und call by value? Java Basics - Anfänger-Themen 14
R Value von einem JSON-Objekt ausgeben Java Basics - Anfänger-Themen 4
V NullPointerException, wenn Key und Value null sind Java Basics - Anfänger-Themen 2
K Value eines HashMaps in einer HashMap wiedergeben. Java Basics - Anfänger-Themen 5
E jProgressbar, 6 Versuche, welche value angeben ? Java Basics - Anfänger-Themen 3
G Klassen Call by Value auch bei Objekten? Java Basics - Anfänger-Themen 2
E Hash map Value Wert hochzuholen/ändern Java Basics - Anfänger-Themen 7
J Variablen Komsiche System.in.read() return-value? Java Basics - Anfänger-Themen 3
N JFreeChart - Value und veriable Zeitachse Java Basics - Anfänger-Themen 15
J Open Office Property Value mit Java aufrufen Java Basics - Anfänger-Themen 0
H call by reference & value Java Basics - Anfänger-Themen 14
R Property Value als null setzen Java Basics - Anfänger-Themen 1
O Erste Schritte TreeMap nach Value sortieren Java Basics - Anfänger-Themen 2
B Compiler-Fehler Hilfe!!! required variable ; found value Java Basics - Anfänger-Themen 4
M Arrays als return Value? Java Basics - Anfänger-Themen 2
S Integer/Value-Paar in Prio-Queue ohne Comparator Java Basics - Anfänger-Themen 5
T Schleifenindex "by reference" / "by value" Java Basics - Anfänger-Themen 13
V Methoden key value Parameter Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben