Manipolazione delle stringhe in Java con ESEMPIO

โšก Riepilogo intelligente

Manipolazione delle stringhe in Java Si basa sulla classe String, che rappresenta il testo come un array di caratteri, e fornisce metodi integrati come length, indexOf, charAt, compareTo, contains, replace e conversione del caso per elaborare e trasformare il testo in modo efficiente.

  • ๐Ÿ”ค Nozioni di base sugli archi: A Java String รจ un array di caratteri gestito dalla classe String, che estende Object.
  • โž• Concatenazione: Unisci le stringhe utilizzando il metodo concat() o l'operatore + per ottenere lo stesso risultato.
  • ๐Ÿ“ Metodi di ispezione: Le funzioni length(), indexOf() e charAt() restituiscono rispettivamente la dimensione, l'indice del carattere e il carattere in una determinata posizione.
  • ๐Ÿ”Ž Confronto e ricerca: Le funzioni compareTo(), compareToIgnoreCase() e contains() confrontano le stringhe e verificano la presenza di sequenze.
  • ๏ธ Trasformazione: Le funzioni replace(), toLowerCase() e toUpperCase() modificano il contenuto della stringa e la distinzione tra maiuscole e minuscole.
  • ๐Ÿ”’ Immutabilitร : Le stringhe sono definitive e immutabili; la JVM le memorizza nel pool di costanti String.

Manipolazione delle stringhe in Java

Cosa sono le stringhe in Java?

Una stringa in termini letterali รจ una serie di caratteri. Ehi, hai detto caratteri, non รจ un tipo di dati primitivo Java. Sรฌ, quindi in termini tecnici, la base Java La stringa รจ fondamentalmente una matrice di caratteri.

Quindi la mia stringa sopra di "ROSE" puรฒ essere rappresentato come segue:

Java Corda

Perchรฉ usare le stringhe?

Una delle funzioni primarie dell'informatica moderna รจ l'elaborazione del linguaggio umano.

Analogamente a come i numeri sono importanti per la matematica, i simboli linguistici sono importanti per il significato e il processo decisionale. Sebbene non sia visibile agli utenti, i computer elaborano il linguaggio in background con la stessa precisione e accuratezza di una calcolatrice. Le finestre di dialogo di aiuto forniscono istruzioni. I menu offrono opzioni. E le visualizzazioni dei dati mostrano stati, errori e modifiche in tempo reale al linguaggio.

Come Java programmatore, uno dei tuoi strumenti principali per archiviare ed elaborare il linguaggio sarร  la classe String.

Esempi di sintassi delle stringhe

Ora passiamo alla sintassi, dopotutto dobbiamo scriverlo in Java codice, non รจ vero?

La stringa รจ un array di caratteri, rappresentato come:

//String is an array of characters
char[] arrSample = {'R', 'O', 'S', 'E'};
String strSample_1 = new String (arrSample);

In termini tecnici, la stringa รจ definita come segue nell'esempio sopra:

= new (argument);

Ora non possiamo sempre scrivere le nostre stringhe come array; quindi possiamo definire la String in Java come segue:

//Representation of String
String strSample_2 = "ROSE";

In termini tecnici quanto sopra รจ rappresentato come:

= ;

Migliori Classe di archi Java si estende , il Classe dell'oggetto.

Concatenazione di stringhe:

La concatenazione รจ l'unione di due o piรน stringhe.

Dai un'occhiata all'immagine qui sotto-

Esempi di sintassi delle stringhe

Abbiamo due stringhe str1 = โ€œRockโ€ e str2 = โ€œStarโ€

Se sommiamo queste due stringhe, dovremmo avere come risultato str3= โ€œRockStarโ€.

Dai un'occhiata al frammento di codice qui sotto: illustra i due metodi per eseguire la concatenazione di stringhe.

Il primo รจ usare โ€œconcat" della classe String e il secondo utilizza l'operatore aritmetico "+". Entrambi producono lo stesso output

public class Sample_String{
  public static void main(String[] args){
//String Concatenation
String str1 = "Rock";
String str2 = "Star";
//Method 1 : Using concat
String str3 = str1.concat(str2);
System.out.println(str3);
//Method 2 : Using "+" operator
String str4 = str1 + str2;
System.out.println(str4);
}
}

Uscita prevista:

RockStar
RockStar

Consigli Java metodi di stringa:

Java metodi delle stringhe

Chiediamo a Java Stringa alcune domande in classe e vedi se riesce a rispondere:

Metodo "Lunghezza" delle stringhe

Come determinerai la lunghezza della stringa data? Ho fornito un metodo chiamato "length". Usalo contro la stringa di cui hai bisogno per trovare la lunghezza.

public class Sample_String{
  public static void main(String[] args){  //Our sample string for this tutorial
  String str_Sample = "RockStar";
  //Length of a String
  System.out.println("Length of String: " + str_Sample.length());}}

Uscita prevista:

Length of String: 8

Metodo stringa "indexOf".

Se conosco la lunghezza, come posso scoprire quale personaggio รจ in quale posizione? In breve, come troverรฒ l'indice di un carattere?

Hai risposto da solo, amico, esiste un metodo "indexOf" che ti aiuterร  a determinare la posizione di un carattere specifico che specifichi.

public class Sample_String{
  public static void main(String[] args){//Character at position
String str_Sample = "RockStar";
System.out.println("Character at position 5: " + str_Sample.charAt(5));
//Index of a given character
System.out.println("Index of character 'S': " + str_Sample.indexOf('S'));}}

Uscita prevista:

Character at position 5: t
Index of character 'S': 4

Metodo stringa "charAt".

Similmente alla domanda precedente, dato l'indice, come faccio a conoscere il carattere in quella posizione?

Ancora una volta semplice!! Utilizza il metodo "charAt" e fornisci l'indice il cui carattere devi trovare.

public class Sample_String{
  public static void main(String[] args){//Character at position
String str_Sample = "RockStar";
System.out.println("Character at position 5: " + str_Sample.charAt(5));}}

Uscita prevista:

Character at position 5: t

Metodo stringa "CompareTo".

Voglio verificare se la stringa generata con qualche metodo รจ uguale a qualcosa con cui voglio verificare? Come faccio a confrontare due stringhe?

Utilizzare il metodo โ€œcompareToโ€ e specificare la stringa che si desidera confrontare.

Utilizza "compareToIgnoreCase" nel caso in cui non desideri che il risultato faccia distinzione tra maiuscole e minuscole.

Il risultato avrร  valore 0 se la stringa di argomento รจ uguale a questa stringa; un valore inferiore a 0 se questa stringa รจ lessicograficamente inferiore all'argomento stringa; e un valore maggiore di 0 se questa stringa รจ lessicograficamente maggiore dell'argomento stringa.

public class Sample_String{
  public static void main(String[] args){//Compare to a String
String str_Sample = "RockStar";
  System.out.println("Compare To 'ROCKSTAR': " + str_Sample.compareTo("rockstar"));
  //Compare to - Ignore case
  System.out.println("Compare To 'ROCKSTAR' - Case Ignored: " + str_Sample.compareToIgnoreCase("ROCKSTAR"));}}

Uscita prevista:

Compare To 'ROCKSTAR': -32
Compare To 'ROCKSTAR' - Case Ignored: 0

Metodo "Contiene" della stringa

So parzialmente cosa avrebbe dovuto contenere la stringa, come posso verificare se la stringa contiene una sequenza di caratteri da me specificata?

Utilizza il metodo โ€œcontiene" e specifica i caratteri che devi controllare.

Resi vero se e solo se questa stringa contiene la sequenza specificata di valori di caratteri.

public class Sample_String{
  public static void main(String[] args){  //Check if String contains a sequence
String str_Sample = "RockStar";
  System.out.println("Contains sequence 'tar': " + str_Sample.contains("tar"));}}

Uscita prevista:

Contains sequence 'tar': true

Metodo stringa "endsWith".

Come posso verificare se una stringa termina con un suffisso particolare? Ancora una volta hai risposto. Utilizza il metodo โ€œendsWithโ€ e specifica il suffisso negli argomenti.

Resi vero se la sequenza di caratteri rappresentata dall'argomento รจ un suffisso della sequenza di caratteri rappresentata da questo oggetto.

public class Sample_String{
  public static void main(String[] args){  //Check if ends with a particular sequence
String str_Sample = "RockStar";
  System.out.println("EndsWith character 'r': " + str_Sample.endsWith("r"));}}

Uscita prevista:

EndsWith character 'r': true

Metodo stringa "replaceAll" e "replaceFirst".

Voglio modificare la mia stringa in piรน punti e sostituire diverse parti della stringa?

Java Metodi String Sostituisci, sostituisciAll e sostituisciFirst. Puoi specificare la parte della stringa che desideri sostituire e la stringa sostitutiva negli argomenti.

public class Sample_String{
  public static void main(String[] args){//Replace Rock with the word Duke
String str_Sample = "RockStar";
System.out.println("Replace 'Rock' with 'Duke': " + str_Sample.replace("Rock", "Duke"));}}

Uscita prevista:

Replace 'Rock' with 'Duke': DukeStar

Corda Java โ€œinminuscoloโ€ & Java Metodo โ€œmaiuscoloโ€.

Voglio che la mia intera stringa venga mostrata in minuscolo o maiuscolo?

Basta usare i metodi "toLowercase()" o "ToUpperCase()" contro le stringhe che devono essere convertite.

public class Sample_String{
  public static void main(String[] args){//Convert to LowerCase
String str_Sample = "RockStar";
System.out.println("Convert to LowerCase: " + str_Sample.toLowerCase());
//Convert to UpperCase
System.out.println("Convert to UpperCase: " + str_Sample.toUpperCase());}}

Uscita prevista:

Convert to LowerCase: rockstar
Convert to UpperCase: ROCKSTAR

Punti importanti da notare:

  • String รจ una classe finale; cioรจ una volta creato il valore non puรฒ essere modificato. Pertanto gli oggetti String sono chiamati immutabili.
  • Migliori Java Virtual Machine (JVM) crea una posizione di memoria appositamente per le stringhe chiamate Pool costante di stringhe. Ecco perchรฉ String puรฒ essere inizializzato senza la parola chiave "new".
  • La classe String rientra Gerarchia java.lang.String. Ma non รจ necessario importare questa classe. Java la piattaforma li fornisce automaticamente.
  • Corda il riferimento puรฒ essere sovrascritto ma ciรฒ non elimina il contenuto; cioรจ, se

Stringa h1 = โ€œciaoโ€;

h1 = โ€œciaoโ€+โ€mondoโ€;

quindi la stringa "ciao" non viene eliminata. Perde semplicemente la sua presa.

  • Riferimenti multipli puรฒ essere utilizzato per la stessa stringa ma lo farร  verificarsi nello stesso luogo; cioรจ, se

Stringa h1 = โ€œciaoโ€;

Stringa h2 = โ€œciaoโ€;

Stringa h3 = โ€œciaoโ€;

quindi nella memoria viene creato solo un pool per la stringa "ciao" con 3 riferimenti-h1,h2,h3

  • Se un il numero รจ citato tra " " allora diventa una stringa, non piรน un numero. Ciรฒ significa che se

Stringa S1 =โ€Il numero รจ: โ€œ+ โ€œ123โ€+โ€456โ€ณ;

Sistema.su.println(S1);

quindi stamperร : Il numero รจ: 123456

Se l'inizializzazione รจ cosรฌ:

Stringa S1 = โ€œIl numero รจ: โ€œ+(123+456);

System.out.println(S1);

quindi stamperร : Il numero รจ:579

Questo รจ tutto per Strings!

DOMANDE FREQUENTI

Java Le stringhe sono immutabili per motivi di sicurezza, protezione dei thread e prestazioni. Poichรฉ il valore non puรฒ cambiare dopo la creazione, la JVM puรฒ memorizzare in cache le stringhe in modo sicuro nel pool di costanti String e condividerne i riferimenti.

In Java== confronta i riferimenti agli oggetti, mentre equals() confronta il contenuto effettivo dei caratteri di due stringhe. Usa equals() per verificare se due stringhe hanno lo stesso valore.

String รจ immutabile, mentre StringBuilder e StringBuffer sono mutabili. StringaBuffer รจ thread-safe e sincronizzato; StringBuilder รจ piรน veloce ma non thread-safe, il che lo rende ideale per la manipolazione di stringhe a singolo thread.

Gli assistenti di programmazione basati sull'intelligenza artificiale possono generare codice per la gestione delle stringhe, suggerire i metodi corretti, spiegare le espressioni regolari e rilevare bug come puntatori nulli o errori di indice nelle operazioni sulle stringhe.

Sรฌ. Gli strumenti di IA possono scrivere Java Codice che pulisce, formatta e trasforma il testo utilizzando metodi come replace, trim e conversione del maiuscolo/minuscolo, quindi spiega ogni passaggio per gli studenti.

Riassumi questo post con: