Funzioni di stringa in Java | Stringa Java [con esempi]

Pubblicato: 2020-12-01

Sommario

introduzione

Java ha guadagnato molto rispetto tra i programmatori grazie al suo supporto alla programmazione orientata agli oggetti e alle funzioni predefinite per i tipi di dati forniti. Le stringhe sono uno dei tipi di dati impressionanti forniti da java.

Sono immutabili e archiviati nell'area dell'heap in un blocco di memoria separato chiamato String Constant Pool. Ci sono molte funzioni predefinite per le stringhe in Java, esploriamole!

Funzioni

charAt()

Per accedere al carattere in una posizione particolare non abbiamo bisogno di un ciclo per l'iterazione su quell'indice, la funzione charAt() fa il duro lavoro per te!. La funzione charAt() restituisce il carattere in una posizione particolare nella stringa, ricorda che l'indice inizia da 0 in java.

Questa funzione è definita con il modificatore di accesso come public e restituisce un char. Questo metodo prevede un numero intero come parametro e l'accesso alla funzione con un parametro maggiore della lunghezza della stringa restituisce un'eccezione IndexOutOfBounds, che è un'eccezione di runtime.

String str = ehi lì ;

primo carattere = str . charAt( 0 );

char secondo = str . charAt( 1 );

Sistema . fuori . println(primo + + secondo);

Lo snippet sopra darà 'h e' come output perché la variabile prima è assegnata con il carattere 'h' e la seconda variabile è assegnata con il carattere 'e'.

compareTo() e compareToIgnoreCase()

Il confronto di due stringhe non funzionerà con un operatore == in java, perché controlla se l'indirizzo di entrambe le variabili e restituisce true se entrambe le variabili hanno lo stesso indirizzo. Quindi un operatore == non riesce a confrontare il contenuto delle stringhe, ecco che entra in azione il metodo compareTo().

Questo metodo pubblico prevede una stringa o un oggetto come parametro da confrontare e restituisce un valore intero dopo un confronto lessicografico, ricorda che questo metodo fa distinzione tra maiuscole e minuscole. Ma possiamo usare compareToIgnoreCase() per un confronto ignorando le lettere minuscole e maiuscole dei caratteri.

Stringa str1 = Ciao ​​;

Stringa str2 = Ciao ​​;

Stringa str3 = ciao ;

int i1 = str1 . compareTo(str2);

int i2 = str2 . confrontaA(str3);

int i3 = str2 . compareToIgnoreCase(str3);

Sistema . fuori . println(i1 + i2 + + i3);

Il frammento di codice precedente stamperà '1 0 1' come output perché la variabile i1 è assegnata con 1 poiché entrambe le stringhe sono uguali, la variabile i2 è assegnata con 0 poiché stiamo confrontando le stringhe in base alla distinzione tra maiuscole e minuscole. Allo stesso modo, alla variabile i3 viene assegnato 1 poiché stiamo confrontando le stringhe ignorando le maiuscole e le minuscole.

concat()

Poiché le stringhe sono immutabili, non possiamo modificare il valore di una stringa, invece possiamo semplicemente riassegnare il valore aggiornato alla stessa variabile. Possiamo usare il metodo concat() per concatenare entrambe le stringhe. Questo metodo prevede una stringa come parametro da concatenare e restituisce una nuova stringa concatenata.

Stringa s1 = prima ;

Stringa s2 = secondo ;

Sistema . fuori . println(s1 . concat(s2));

Lo snippet sopra stampa una stringa "first second".

Leggi: Proprietà e vantaggi di JavaBeans: come dovresti utilizzare?

contiene()

Controllare se una stringa è presente come sottosequenza di un'altra stringa è ora un gioco da ragazzi. contiene() in java è una funzione pubblica booleana e restituisce true se una sequenza di caratteri è presente in una stringa e false in caso contrario. Questo metodo prevede una sequenza di caratteri come parametro e restituisce un'eccezione NullPointerException se un oggetto null viene passato come parametro.

Stringa s1 = Ehi lì ;

Sistema . fuori . println(s1 . contiene( the )); //Linea 1

Sistema . fuori . println(s1 . contiene( “” )); //linea 2

Sistema . fuori . println(s1 .contiene ( null ) ); //linea3

Il frammento di codice precedente stampa True per la riga 1 perché la sequenza "the" è presente nella stringa, allo stesso modo la riga 2 stampa True perché una sequenza vuota restituisce True per impostazione predefinita. E la riga 3 genera un'eccezione NullPointerException poiché viene passato un parametro a un valore nullo.

indice di()

Abbiamo visto una funzione java che restituisce il carattere presente in un dato indice, ma cosa succede se vogliamo l'indice della prima occorrenza di un dato carattere. Rilassati, la funzione indexOf() fa il lavoro. Questa funzione è internamente sovrascritta con quattro firme diverse, esaminiamole.

Stringa s1 = " Ehi, ehi, ehi, ehi, ehi " ;

Sistema . fuori . println(s1 . indexOf( there )); //Linea 1

Sistema . fuori . println(s1 . indexOf( there , 5 )); //linea 2

Sistema . fuori . println(s1 . indexOf( ' T ' )); //riga 3

Sistema . fuori . println(s1 . indexOf( ' T ' , 16 )); //riga 4

Nello snippet sopra, la funzione chiamata in line1 si aspetta una stringa e questa restituisce l'indice iniziale della prima occorrenza di una determinata stringa, in questo caso stampa 4. La funzione chiamata in line2 prevede una stringa insieme a un intero come parametri, ora questo intero si riferisce all'indice iniziale dove la ricerca di una determinata stringa parte da quell'indice, in questo caso stampa 37.

La funzione chiamata in line3 si aspetta un carattere come parametro, restituisce la prima occorrenza del carattere dato, in questo caso stampa 15. Allo stesso modo, la funzione presente in line4 prevede un carattere e un intero.

Dove l'intero rappresenta l'indice iniziale e quindi la ricerca del carattere specificato inizia da quel carattere, in questo caso stampa 26. Ricorda che questa funzione fa distinzione tra maiuscole e minuscole, come possiamo vedere nello snippet sopra.

è vuoto()

Questa funzione svolge un compito semplice ma molto utile dal punto di vista del programmatore. Questa funzione booleana restituisce True se la stringa è vuota e False in caso contrario. Questa funzione aiuta a verificare se una stringa è vuota prima di eseguire qualsiasi attività sulla stringa perché alcune delle funzioni generano un'eccezione per le stringhe vuote che interrompe il flusso di esecuzione.

Stringa s1 = Ehi lì ;

Stringa s2 = “” ;

Sistema . fuori . println(s1 . isEmpty()); //Linea 1

Sistema . fuori . println(s2 . isEmpty()); //linea 2

Sopra lo snippet viene stampato False per la riga 1 e True per la riga 2.

lunghezza()

Scoprire la lunghezza di una stringa non è più un compito noioso, la funzione length() in Java restituisce la lunghezza della stringa data. Questo restituisce zero se una stringa vuota viene passata come parametro.

Stringa s1 = abcdefghijklmnopqrstuvwxyz ;

Sistema . fuori . println(s1 . lunghezza());

Il codice sopra stampa 26.

sostituire()

A differenza della funzione indexOf(), dove restituisce solo la prima occorrenza della sequenza, la funzione replace() sostituisce tutti i caratteri specificati con il nuovo carattere specificato e restituisce una nuova stringa. Questa funzione pubblica prevede due caratteri, diciamo c1 e c2 come parametri. Dove cerca tutti i caratteri uguali a c1 e li sostituisce con c2.

Stringa s1 = ciaoCIAO ;

Sistema . fuori . println(s1 . replace( ' l ' , ' p ' ));

Ricorda che questa funzione fa distinzione tra maiuscole e minuscole, quindi lo snippet sopra stampa "heppoHELLO".

toLowerCase() e toUpperCase()

La conversione di una stringa in minuscolo o viceversa è un'attività divertente in Java, che richiede solo l'arte di una singola riga di codice e le funzioni toLowerCase(), toUpperCase() sono gli artisti.

Queste funzioni pubbliche non prevedono parametri e restituiscono una nuova stringa con i caratteri minuscoli e maiuscoli aggiornati.

Stringa s1 = " Hey There " ;

Sistema . fuori . println(s1 .toUpperCase ()); //Linea 1

Sistema . fuori . println(s1 . toLowerCase()); //linea 2

Nello snippet sopra, line2 stampa "hey there" e line1 stampa "HEY THERE".

Scopri: Gestione degli eventi in Java: cos'è e come funziona?

ordinare()

Un approccio ingenuo per rimuovere gli spazi bianchi finali e iniziali in una stringa è quello di scorrere la stringa e rimuovere il carattere se è uno spazio bianco, ma esiste un modo ottimale. La funzione trim() rimuove tutti gli spazi iniziali e finali della stringa e restituisce una nuova stringa. Questa funzione pubblica non prevede alcun parametro.

Stringa s1 = " Hey There " ;

Sistema . fuori . println(s1 . trim());

Lo snippet sopra stampa "Hey There", che è la nuova stringa dopo aver tagliato gli spazi bianchi finali e iniziali.

Conclusione

Abbiamo esaminato alcune delle funzioni di stringa in Java, abbiamo capito come funzionano, cosa si aspettano e cosa restituiscono. Ha esplorato le firme sovrascritte di alcune funzioni, ha esaminato un frammento di codice di esempio per una corretta comprensione. Ora che conosci alcune funzioni, inizia a utilizzarle ogni volta che è necessario.

Se sei interessato a saperne di più su Java, OOP e sviluppo software full-stack, dai un'occhiata al Diploma PG di upGrad e IIIT-B in Sviluppo software full-stack, progettato per i professionisti che lavorano e offre oltre 500 ore di formazione rigorosa, 9 + progetti e incarichi, stato di Alumni IIIT-B, progetti pratici pratici e assistenza sul lavoro con le migliori aziende.

Prepararsi per una carriera del futuro

APPRENDIMENTO AFFIDABILE DEL SETTORE - CERTIFICAZIONE RICONOSCIUTA DEL SETTORE.
Per saperne di più