String-Prototyp, der sich selbst modifiziert

8

Soweit ich weiß, ist es nicht möglich, ein Objekt auf diese Weise von sich selbst zu ändern:

%Vor%

Ist es überhaupt nicht möglich, eine String-Funktion sich selbst modifizieren zu lassen?

    
ChrisR 23.10.2009, 18:46
quelle

4 Antworten

16

Die Zeichenkette Grundelemente sind unveränderlich, sie können nicht geändert werden, nachdem sie erstellt wurden.

Das bedeutet, dass die Zeichen in ihnen nicht geändert werden dürfen und alle Operationen an Strings tatsächlich neue Strings erzeugen.

Vielleicht möchten Sie eine Art String Builder implementieren?

%Vor%     
CMS 23.10.2009, 18:58
quelle
3

Während Strings unveränderbar sind, wird beim Versuch, irgendetwas this in jeder Klasse zuzuweisen, ein Fehler ausgegeben.

    
Matt Baker 24.10.2009 01:13
quelle
0

Ich habe dasselbe erforscht ... Zuallererst, natürlich können Sie das nicht einfach tun + = x, 'das' ist ein Objekt, Sie können den + Operator nicht für Objekte verwenden.

Es gibt "hinter den Kulissen" Methoden, die aufgerufen werden - zum Beispiel

%Vor%

ruft tatsächlich

an %Vor%

Was Sie also finden müssen, ist ein relevanter Wert, der das Gegenteil bewirkt - etwa so.setValue (). Außer dass es keinen gibt. Das Gleiche gilt auch für Nummer.

Sogar die eingebauten Methoden sind daran gebunden

%Vor%

Bei einigen anderen Objekten können Sie; zum Beispiel auf ein Datum:

%Vor%

Es ist nervig, aber du gehst

    
gotofritz 08.05.2010 22:28
quelle
-1

Strings sind unveränderlich; was du fragst, ist wie zu sagen: "Warum kann ich nicht tun:

%Vor%

...?

    
Anthony Mills 23.10.2009 19:05
quelle

Tags und Links