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: