Forum: PC-Programmierung Strings in Java


von jo (Gast)


Lesenswert?

Hallo, ich habe eine Frage zu Strings in Java.
Kann man Strings verändern?

ist es möglich, ein Zeichen zu ändern?

z.B.

String s = "hey";
s.charAt (2) = 'b';


es funktioniert nicht, wieso klappt das nicht ??

Danke Euch ;)

von Peter (Gast)


Lesenswert?

s.charAt(2) ist eine Methode die dir ein Zeichen aus dem String zurück 
liefert - da  ist erstmal die grund warum du es nicht ändern kannst.

von John S. (linux_80)


Lesenswert?

Du könntest Dir mal die Klasse StringBuffer ansehen, ist für 
String-basteleien besser geeignet.

von jo (Gast)


Lesenswert?

danke für eure antworten.
Strings kann ich ja mit
String s = .... erzeugen
genau wie Datentypen.

Jetzt wird hier von Klasse gesprochen.
Ist String eine Klasse? Wieso kann ich dann Strings wie ein Datentyp 
erzeugen?

von TestX .. (xaos)


Lesenswert?

galileo computing ebook "java ist auch eine insel"
fang mal bitte mit den grundlagen an..zu allen primitiven datentypen, zu 
denen String nicht! zählt gibt es entsprechende Classes..

charAt() ist übrigens nur eine getter methode, siehe api.

von jo (Gast)


Lesenswert?

In Java werden ja Objekte von Klassen bei der Parameterübergabe als 
Objekt Referenzen realisiert (nur der Zeiger wird kopiert und übergeben)

Wenn ich die Klasse

public static test (String s){
s = s+s;
}

habe, sie im hauptprogramm mit einem String aufrufe, dann wird aber das 
Original nicht verändert (was bei nochmalen Objekten aber der Fall wäre) 
also spricht das dafür, und auch die Art und weise, wie ein string 
initialisiert wird dafür, dass String ein Datentyp ist.

Kann mir hier jmd den Unterschied zwischen einem Datentyp und int 
erklären?

von jo (Gast)


Lesenswert?

Kann mir hier jmd den Unterschied zwischen einem Datentyp und STRING
erklären?

von jo (Gast)


Lesenswert?

Hannes, danke für deine Antwort.
Normalerweise sind Objekte von Klassen nicht immutable, sehe ich das 
richtig ? Das trifft hier nur auf String zu, oder?

wenn ich ja die Klasse

public class test{

private a;
private b;

}

habe und mit

test a = new a;
a.a = 3;

a.a = 5;

kann ich das Objekt der Klasse verändern, stimmt das also, dass Objekte 
von Klassen nicht immutable sind ?
Mir geht es hier um den Unterschied zwischen
Datentypen - String
Klassen - String

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.