Java String erzeugen

Gast #2597660
Lesenswert?

Hallo,

ich hätte eine Frage zum String erzeugen in Java.

Mein Code:

char[] cs = {'H','A','L','L','O'};

(1) String str1 = new String(cs);
(2) String str2 = String.valueOf(cs);

Stimmen meine Aussagen ?

zu (1) : hier wird ein neues String Objekt erzeugt, welches auf dem 
Objektheap abgelegt wird

Wird für jedes Element des char Arrays ein eigenes Objekt erzeugt und 
anschliessend zu einem neuen String Element zusammengesetzt ?

zu (2) : hier wird im Cache ein String Element erzeugt

Wie wird hier der str2 erzeugt ?

Und welche von diesen beiden Möglichkeiten sollte ich in meinem Code 
verwenden bzw. würdet ihr verwenden ?
Persönliche Seite #2597680
Lesenswert?

Hans schrieb:
> hier wird ein neues String Objekt erzeugt
Ja.

Hans schrieb:
> Wird für jedes Element ...
Siehe:
http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#String%28char[]%29

Hans schrieb:
> hier wird im Cache ein String Element erzeugt
Was für ein cache? Es kommt auf jedenfall nicht der String "Hallo" raus.

Hans schrieb:
> Und welche von diesen beiden Möglichkeiten sollte ich
> in meinem Code verwenden bzw. würdet ihr verwenden ?
Je nachdem was du vor hast garkeine. Einen String "erzeugt" man einfach 
indem man einer Stringvariablen ein Stringliteral zuweist also so:
1
String myString = "Hallo";
Gast #2597690
Lesenswert?

Ja das mit String = "Hallo"; wusste ich schon, jedoch ist dies nur ein 
Beispiel gewesen.

Ich mache nämlich ein Verschlüsselungsprogramm, dabei bekomme ich einen 
String nehme die einzelnen Zeichen und verändere sie --> anschliessend 
möchte ich aus dem char Feld wieder einen String erzeugen und ich würde 
gerne wissen, welche dieser beiden Methoden verwendet werden sollte.

        char[] test = {'H','a','l'};
        String str = String.valueOf(test);
        System.out.println(str);

--> dies funktioniert bei mir schon

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren