Heim Java javaLernprogramm Erweiterte Java-String-Beispielcodefreigabe (Sammlung)

Erweiterte Java-String-Beispielcodefreigabe (Sammlung)

Jun 18, 2017 am 09:38 AM
java 代码 字符串 示例 进阶

Der folgende Editor bringt Ihnen einen Artikel über JavaStringFortgeschritten (ein Artikel, den Sie unbedingt lesen müssen). Der Herausgeber findet es ziemlich gut, deshalb werde ich es jetzt mit Ihnen teilen und es allen als Referenz geben. Folgen wir dem Editor und werfen wir einen Blick darauf.

Vorwort

Es gibt drei am häufigsten verwendete Klassen für String-Operationen, nämlich String und StringBuilder . StringBuffer, diese drei Klassen werden im Folgenden ausführlich besprochen ...

String

Die String-Klasse stellt einen String dar, das ist am meisten Grundklasse für Strings und auch die am häufigsten verwendete Klasse. Sie wird hier nicht im Detail vorgestellt.

Konstruktion

neuer String(String str)

neuer String(StringBuilder str)

neuer String(StringBuffer str)

neuer String(byte[] bys,String charsetName ) Konstruiert einen neuen String durch Dekodierung des angegebenen Byte-Subarrays unter Verwendung des angegebenen Zeichensatzes.

Gemeinsame Methoden

str charAt(int index) Gibt das Zeichen am angegebenen Index zurück

String concat(String str ) Verbinden Sie die angegebene Zeichenfolge str mit dem Ende dieser Zeichenfolge und geben Sie die Zeichen nach erfolgreicher Verbindung zurück. Daher muss sie akzeptiert werden, um wirksam zu sein.

boolean enthält (CharSequence s), um festzustellen, ob diese Zeichenfolge das angegebene Zeichen enthält Wertesequenz, CharSequence ist hier eine Schnittstelle, und Sie können ihre Unterklassen direkt als Parameter verwenden (String, StringBuffer, StringBuild)

statischer String copyValueOf(char[] c) zum Konvertieren von Zeichenarray in Zeichen umwandeln String und zurückgeben

statischer String copyValueOf(char[] c, int off, int count) Verwandeln Sie das abgefangene Zeichenarray in einen String und geben Sie ihn zurück, off ist der Index zum Starten des Abfangens und count ist der Anzahl der Interceptions

boolean endWith(String s) bestimmt, ob die Zeichenfolge mit s endet

boolean equal(Object o) für den Vergleich

int indexOf(char c) gibt Zeichen zurück c Index des ersten Vorkommens in der Zeichenfolge

int indexOf(char c,int fromIndex) Beginnen Sie die Suche ab dem angegebenen Index und suchen Sie den Index des ersten Vorkommens

int indexOf(String str ) Gibt den Index des ersten Vorkommens der angegebenen Teilzeichenfolge in dieser Zeichenfolge zurück.

int indexOf(String str,int fromIndex) Gibt den Index des ersten Vorkommens des angegebenen Teilstrings in diesem String zurück, beginnend beim angegebenen Index.

boolean isEmpty()

int length()

boolean matches(String regex) ob mit regulärer Ausdruck

trim übereinstimmt () Gibt eine Kopie der Zeichenfolge zurück und ignoriert führende und nachfolgende Leerzeichen.

String substring(int beginIndex) gibt einen neuen String zurück, der ein Teilstring dieses Strings ist.

String substring(int beginIndex, int endIndex) Gibt einen neuen String zurück, der ein Teilstring dieses Strings ist.

String toUpperCase() Konvertiert alle Zeichen in diesem String unter Verwendung der Regeln des Standardgebietsschemas in Großbuchstaben.

String[] split(String regex) Teilt diesen String basierend auf Übereinstimmungen mit dem angegebenen regulären Ausdruck.

String[] split(String regex, int limit) Teilt diesen String basierend auf der Übereinstimmung mit dem angegebenen regulären Ausdruck.

char[] toCharArray() Konvertieren Sie diese Zeichenfolge in ein neues Zeichenarray.

byte[] getBytes(Charset charset) Codieren Sie diesen String mithilfe des angegebenen Zeichensatzes in eine Bytesequenz und speichern Sie das Ergebnis in einem neuen Byte-Array

Hinweis

Der obige neue String(byte[] bys,String charsetName) Konstruktor ist sehr wichtig, er kann den Codierungssatz des Strings (und byte[] getBytes (Charset) ändern charset)), schauen wir uns unten ein Beispiel an. Der Code lautet wie folgt:


/*
 * InputStreamReader实现了将字节流FileInputStream转换为字符流,然后使用转换来的字节流创建高效流,从而实现高效的读写
 */

/*
 * 编码集(我的eclipse编辑器默认的是utf-8
 * 下面将中文字符串的编码集变为GBK写入a.txt文件,因为a.txt默认的是utf-8的因此这里在文件中显示的是乱码
 * 然后我们读出来的还是GBK的,因为我们写入的是GBK编码集的,但是我的eclipse是utf-8的编码集,因此在控制台上输出的还是乱码
 * new String(byte[] bys,String
 * charsetName)使用这个构造方法将byte数组改变编码集并且转换为utf-8格式的,那么这次在控制台上输出的就不乱码了
 */

// 将GBK格式的中文写入a.txt文件
File file = new File("src/a.txt");
FileOutputStream fileOutputStream = new FileOutputStream(file);
String str = "中";
byte[] by = str.getBytes("GBK"); // 将字符串改为GBK编码集
fileOutputStream.write(by);
fileOutputStream.close();

//从a.txt文件中读取中文
FileInputStream fileInputStream = new FileInputStream(file);
int len;
byte[] bys = new byte[4];
while ((len = fileInputStream.read(bys)) != -1) {
 System.out.println(new String(bys, "GBK"));
}
fileInputStream.close();
Nach dem Login kopieren

StringBuffer

Thread-sichere veränderbare Zeichenfolge. Ein String-Puffer ähnlich wie String, der jedoch nicht geändert werden kann. Der wichtigste Punkt ist natürlich die Thread-Sicherheit. Aus dem Quellcode können wir ersehen, dass für einige Vorgänge (Anhängen, Einfügen usw.) Thread-Kontrollblöcke verwendet werden, die für die Verwendung unter Multithreading geeignet sind Der Code lautet wie folgt:


 public synchronized StringBuffer append(Object obj) {
super.append(String.valueOf(obj));
return this;
}

public synchronized StringBuffer append(String str) {
super.append(str);
return this;
}

public synchronized StringBuffer delete(int start, int end) {
super.delete(start, end);
return this;
}

/**
 * @throws StringIndexOutOfBoundsException {@inheritDoc}
 * @since 1.2
 */
public synchronized StringBuffer deleteCharAt(int index) {
super.deleteCharAt(index);
return this;
}
Nach dem Login kopieren

Konstruktion

neuer StringBuffer(StringBuilder str)
new StringBuffer(String str)

Häufig verwendete Methoden

StringBuffer append(str) hängt den angegebenen Typ von str an das Ende an string ( String,char,char[],int,double,float,long,StringBuffer,StringBuilder)

StringBuffer insert(int offest, str) Füge den angegebenen Typ von str in diese Sequenz ein, Offset gibt den Anfang an der Einfügung Der Index der Position, die Typen sind String, char, char[], int, double, float, long, StringBuffer, StringBuilder

String delete(int fromIndex,int endIndex) entfernt den String in dieser Sequenz und gibt einen neuen Pufferstring zurück

StringBuffer reverse() kehrt den String um

String substring( int start) Gibt zurück ein neuer String, der die Teilsequenz von Zeichen enthält, die derzeit in dieser Zeichenfolge enthalten sind.

String substring(int start, int end) Gibt einen neuen String zurück, der die Teilsequenz von Zeichen enthält, die derzeit in dieser Sequenz enthalten sind.

StringBuffer deleteCharAt(int index) Entfernt das Zeichen an der angegebenen Position in dieser Sequenz.

int length() length

String toString() Gibt die String-Darstellung der Daten in dieser Sequenz zurück.

StringBuilder

Diese Klasse wird bevorzugt empfohlen, da sie in den meisten Implementierungen schneller als StringBuffer ist. Diese Klasse ist jedoch nicht threadsicher und eignet sich nur für einzelne Threads. Natürlich können Sie dies auch verwenden, aber Sie müssen die Synchronisierung selbst implementieren

Konstruktionsmethode

neuer StringBuilder(String str)

Gemeinsame Methoden

Die allgemeinen Methoden dieser Klasse sind die gleichen wie die von StringBuffer. Ich werde sie hier nicht einzeln auflisten. Sie können sie verwenden, indem Sie auf die oben genannten

verweisen

Das obige ist der detaillierte Inhalt vonErweiterte Java-String-Beispielcodefreigabe (Sammlung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Perfekte Zahl in Java Perfekte Zahl in Java Aug 30, 2024 pm 04:28 PM

Leitfaden zur perfekten Zahl in Java. Hier besprechen wir die Definition, Wie prüft man die perfekte Zahl in Java?, Beispiele mit Code-Implementierung.

Zufallszahlengenerator in Java Zufallszahlengenerator in Java Aug 30, 2024 pm 04:27 PM

Leitfaden zum Zufallszahlengenerator in Java. Hier besprechen wir Funktionen in Java anhand von Beispielen und zwei verschiedene Generatoren anhand ihrer Beispiele.

Weka in Java Weka in Java Aug 30, 2024 pm 04:28 PM

Leitfaden für Weka in Java. Hier besprechen wir die Einführung, die Verwendung von Weka Java, die Art der Plattform und die Vorteile anhand von Beispielen.

Smith-Nummer in Java Smith-Nummer in Java Aug 30, 2024 pm 04:28 PM

Leitfaden zur Smith-Zahl in Java. Hier besprechen wir die Definition: Wie überprüft man die Smith-Nummer in Java? Beispiel mit Code-Implementierung.

Fragen zum Java Spring-Interview Fragen zum Java Spring-Interview Aug 30, 2024 pm 04:29 PM

In diesem Artikel haben wir die am häufigsten gestellten Fragen zu Java Spring-Interviews mit ihren detaillierten Antworten zusammengestellt. Damit Sie das Interview knacken können.

Brechen oder aus Java 8 Stream foreach zurückkehren? Brechen oder aus Java 8 Stream foreach zurückkehren? Feb 07, 2025 pm 12:09 PM

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist

Zeitstempel für Datum in Java Zeitstempel für Datum in Java Aug 30, 2024 pm 04:28 PM

Anleitung zum TimeStamp to Date in Java. Hier diskutieren wir auch die Einführung und wie man Zeitstempel in Java in ein Datum konvertiert, zusammen mit Beispielen.

Gestalten Sie die Zukunft: Java-Programmierung für absolute Anfänger Gestalten Sie die Zukunft: Java-Programmierung für absolute Anfänger Oct 13, 2024 pm 01:32 PM

Java ist eine beliebte Programmiersprache, die sowohl von Anfängern als auch von erfahrenen Entwicklern erlernt werden kann. Dieses Tutorial beginnt mit grundlegenden Konzepten und geht dann weiter zu fortgeschrittenen Themen. Nach der Installation des Java Development Kit können Sie das Programmieren üben, indem Sie ein einfaches „Hello, World!“-Programm erstellen. Nachdem Sie den Code verstanden haben, verwenden Sie die Eingabeaufforderung, um das Programm zu kompilieren und auszuführen. Auf der Konsole wird „Hello, World!“ ausgegeben. Mit dem Erlernen von Java beginnt Ihre Programmierreise, und wenn Sie Ihre Kenntnisse vertiefen, können Sie komplexere Anwendungen erstellen.

See all articles