Eingehende Analyse von Strings in C++ und JAVA
Alle Zeichenfolgenklassen stammen aus C-Sprachzeichenfolgen, und C-Sprachzeichenfolgen sind Arrays von Zeichen. In der Sprache C gibt es keine Zeichenfolgen, sondern nur Zeichenarrays.
Sprechen wir über C++-Strings: C++ bietet zwei Arten von String-Darstellungen: Strings im C-Stil und den von Standard-C++ eingeführten String-Typ. Im Allgemeinen wird die Verwendung des String-Typs empfohlen, in der Praxis muss jedoch immer noch auf die alten Strings im C-Stil zurückgegriffen werden.
1. Zeichenfolgen im C-Stil: Zeichenfolgen im C-Stil stammen aus C und wurden in C++ erweitert. Zeichenfolgen werden in einem Zeichenarray gespeichert, zum Beispiel:
const char *str = „zhangdan“ (letztes nicht vergessen
Da „zhangpeng“ in str3 und str4 im Beispiel beide String-Konstanten sind, werden sie zur Kompilierungszeit bestimmt, sodass str3==str4 wahr ist und „zhang“ und „peng“ auch Zeichen-String-Konstanten sind Da eine Zeichenfolge durch mehrere Zeichenfolgenkonstanten verkettet ist, muss sie selbst eine Zeichenfolgenkonstante sein. Daher wird str2 zur Kompilierungszeit auch in eine Zeichenfolgenkonstante analysiert, sodass sich str2 auch im Konstantenpool befindet.
Der Unterschied zwischen String und StringBuffer in JAVA:
String:
ist ein Objekt, kein primitiver Typ.
ist ein unveränderliches Objekt , er kann nicht geändert werden.
Die Änderung eines vorhandenen String-Objekts erfordert die Neuerstellung eines neuen Objekts und das anschließende Speichern des neuen Werts darin.
String ist eine endgültige Klasse, das heißt, sie kann nicht vererbt werden.
StringBuffer:
Es handelt sich um ein veränderliches Objekt. Wenn es geändert wird, wird das Objekt nicht wie String wiederhergestellt.
Es kann nur über den Konstruktor erstellt werden.
StringBuffer sb = new StringBuffer( );
kann nicht über das Zahlungssymbol bezahlt werden
sb = "xxxxx"; Nachdem das
-Objekt erstellt wurde, wird Speicherplatz im Speicher zugewiesen und zunächst ein Nullwert gespeichert zu StringBuffer
Sie können seine Append-Methode verwenden.
sb.append("hello");
StringBuffer ist bei String-Verbindungsvorgängen effizienter als String:
String str = new String("xxx" ) ;
str += "xx"; Die Verarbeitungsschritte von
bestehen tatsächlich darin, einen StringBuffer zu erstellen, dann append() aufzurufen und schließlich
den StringBuffer anSting();
zu übertragen , die String-Verbindung Die Operation hat einige zusätzliche Operationen als StringBuffer, daher ist sie langsamer
Stellen Sie eine Frage: Warum ist StringBuffer so effizient, brauchen wir also noch String?
Wenn Sie es nicht wissen, schauen Sie es sich an. Die Richtung ist der konstante Pool.
Python-String:
Python ist eine leistungsstarke Skriptsprache, die beim Definieren eines Strings keinen Typ definieren muss. Python-Strings sind normalerweise von einfachen Anführungszeichen ('...'), doppelten Anführungszeichen ("..."), dreifachen Anführungszeichen (""..."") oder ('''...''') umgeben Durch dreifache Anführungszeichen kann die Zeichenfolge aus mehreren Zeilen bestehen und im Allgemeinen eine lange Erzählzeichenfolge darstellen. Grundsätzlich gibt es keinen Unterschied in der Verwendung, aber doppelte Anführungszeichen und dreifache Anführungszeichen („“…““) können einfache Anführungszeichen enthalten, und dreifache Anführungszeichen („…““) können doppelte Anführungszeichen enthalten, aber nicht Erfordert Escape. Wenn spezielle Escapezeichen erforderlich sind, können Sie ''
Python verfügt auch über viele Funktionen zur String-Manipulation. Insbesondere können Sie dir verwenden, was C++ und Java ähnelt.
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein.
Für eine ausführlichere Analyse stringbezogener Artikel in C++ und JAVA achten Sie bitte auf die chinesische PHP-Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Fehlerbehebung und Lösungen für die Sicherheitssoftware des Unternehmens, die dazu führt, dass einige Anwendungen nicht ordnungsgemäß funktionieren. Viele Unternehmen werden Sicherheitssoftware bereitstellen, um die interne Netzwerksicherheit zu gewährleisten. ...

Die Verarbeitung von Feldzuordnungen im Systemdocken stößt häufig auf ein schwieriges Problem bei der Durchführung von Systemdocken: So kartieren Sie die Schnittstellenfelder des Systems und ...

Bei Verwendung von MyBatis-Plus oder anderen ORM-Frameworks für Datenbankvorgänge müssen häufig Abfragebedingungen basierend auf dem Attributnamen der Entitätsklasse erstellt werden. Wenn Sie jedes Mal manuell ...

Beginnen Sie den Frühling mit der Intellijideaultimate -Version ...

Lösungen zum Umwandeln von Namen in Zahlen zur Implementierung der Sortierung in vielen Anwendungsszenarien müssen Benutzer möglicherweise in Gruppen sortieren, insbesondere in einem ...

Konvertierung von Java-Objekten und -Arrays: Eingehende Diskussion der Risiken und korrekten Methoden zur Konvertierung des Guss-Typs Viele Java-Anfänger werden auf die Umwandlung eines Objekts in ein Array stoßen ...

Wenn Sie TKMybatis für Datenbankabfragen verwenden, ist das Aufbau von Abfragebedingungen ein häufiges Problem. Dieser Artikel wird ...

Verstehen Sie die Zufälligkeit von kreisförmigen Abhängigkeiten beim Start des Frühlingsprojekts. Bei der Entwicklung des Frühlingsprojekts können Sie Zufälligkeit begegnen, die durch kreisförmige Abhängigkeiten beim Projektstart verursacht werden ...
