Funcții șir în Java | șir Java [cu exemple]

Publicat: 2020-12-01

Cuprins

Introducere

Java a câștigat mult respect în rândul programatorilor datorită suportului său de programare orientată pe obiecte și funcțiilor predefinite pentru tipurile de date furnizate. Șirurile de caractere sunt unul dintre tipurile de date impresionante oferite de java.

Sunt imuabile și stocate în zona heap într-un bloc de memorie separat numit String Constant Pool. Există multe funcții predefinite pentru șiruri în java, haideți să le explorăm!

Funcții

charAt()

Pentru a accesa caracterul într-o anumită poziție, nu avem nevoie de o buclă pentru iterarea la acel index, funcția charAt() face munca grea pentru tine! Funcția charAt() returnează caracterul la o anumită poziție din șir, amintiți-vă că indexul începe de la 0 în java.

Această funcție este definită cu modificatorul de acces ca public și returnează un caracter. Această metodă așteaptă un număr întreg ca parametru și accesarea funcției cu un parametru mai mare decât lungimea șirului returnează o excepție IndexOutOfBounds, care este o excepție de rulare.

String str = hei acolo ;

char primul = str . charAt( 0 );

char second = str . charAt( 1 );

Sistem . afară . println(primul + + secunda);

Fragmentul de mai sus va da „h e” ca ieșire, deoarece prima variabilă este atribuită cu caracterul „h”, iar variabila a doua este atribuită cu caracterul „e”.

compareTo() și compareToIgnoreCase()

Compararea a două șiruri de caractere nu va funcționa cu un operator == în java, deoarece verifică dacă adresa ambelor variabile și returnează adevărată dacă ambele variabile au aceeași adresă. Deci un operator == nu reușește să compare conținutul șirurilor, aici intră în acțiune metoda compareTo().

Această metodă publică așteaptă un șir sau un obiect ca parametru care urmează să fie comparat și returnează o valoare întreagă după o comparație lexicografică, amintiți-vă că această metodă este sensibilă la majuscule și minuscule. Dar putem folosi compareToIgnoreCase() pentru o comparație ignorând literele mici și mari ale caracterelor.

String str1 = Bună ziua ;

String str2 = Bună ziua ;

String str3 = bună ziua ;

int i1 = str1 . comapreTo(str2);

int i2 = str2 . compareTo(str3);

int i3 = str2 . compareToIgnoreCase(str3);

Sistem . afară . println(i1 + i2 + + i3);

Fragmentul de mai sus va tipări „1 0 1” ca ieșire, deoarece variabilei i1 este atribuită cu 1, deoarece ambele șiruri sunt egale, variabilei i2 este atribuită cu 0, deoarece comparăm șirurile în funcție de sensibilitatea majusculelor. În mod similar, variabilei i3 este atribuită cu 1, deoarece comparăm șirurile ignorând literele mari și mici.

concat()

Deoarece șirurile sunt imuabile, nu putem edita valoarea unui șir, în schimb putem reatribui valoarea actualizată aceleiași variabile. Putem folosi metoda concat() pentru concatenarea ambelor șiruri. Această metodă așteaptă un șir ca parametru care urmează să fie concatenat și returnează un șir nou concatenat.

String s1 = primul ;

String s2 = secunda ;

Sistem . afară . println(s1 . concat(s2));

Fragmentul de mai sus afișează un șir „prima secundă”.

Citiți: Proprietăți și beneficii JavaBeans: Cum ar trebui să utilizați?

conține()

Verificarea dacă un șir este prezent ca o secvență a altui șir este acum un cakewalk. Metoda contains() în java este o funcție publică booleană și returnează adevărat dacă o secvență de caractere este prezentă într-un șir și fals dacă nu. Această metodă așteaptă o secvență de caractere ca parametru și returnează o excepție NullPointerException dacă un obiect nul este transmis ca parametru.

String s1 = Hei acolo ;

Sistem . afară . println(s1 . conține( ) ); //linia 1

Sistem . afară . println(s1 . conţine( “” )); //randul 2

Sistem . afară . println(s1 . conţine( null )); //linia 3

Fragmentul de mai sus afișează True pentru linia 1, deoarece secvența „the” este prezentă în șir, în mod similar, linia 2 afișează True, deoarece o secvență goală returnează True în mod implicit. Și linia 3 aruncă o excepție NullPointerException, deoarece unui parametru nul i se transmite.

Index de()

Am văzut o funcție java care returnează caracterul prezent la un anumit index, dar ce se întâmplă dacă vrem indexul primei apariții a unui anumit caracter. Relaxați-vă, funcția indexOf() face treaba. Această funcție este suprascrisă intern cu patru semnături diferite, haideți să le parcurgem.

String s1 = Hei acolo, hei acolo, hei acolo, hei acolo ;

Sistem . afară . println(s1 . indexOf( acolo )); //linia 1

Sistem . afară . println(s1 . indexOf( acolo , 5 )); //randul 2

Sistem . afară . println(s1 . indexOf( ' T ' )); //linia 3

Sistem . afară . println(s1 . indexOf( ' T ' , 16 )); //linia 4

În fragmentul de mai sus, funcția numită în linia 1 așteaptă un șir și acesta returnează indexul de pornire al primei apariții a unui șir dat, se afișează 4 în acest caz. Funcția numită în linia 2 așteaptă un șir împreună cu un număr întreg ca parametri, acum acest număr întreg se referă la indexul de pornire de unde începe căutarea unui șir dat de la acel index, se afișează 37 în acest caz.

Funcția numită în linia 3 așteaptă un caracter ca parametru, returnează prima apariție a caracterului dat, imprimă 15 în acest caz. În mod similar, funcția prezentă în linia 4 așteaptă un caracter și un întreg.

Acolo unde întregul reprezintă indexul de pornire și apoi căutarea caracterului dat începe de la acel caracter, se afișează 26 în acest caz. Rețineți că această funcție este complet sensibilă la majuscule și minuscule, ceea ce îl putem vedea în fragmentul de mai sus.

este gol()

Această funcție face o sarcină simplă, dar foarte utilă din punctul de vedere al programatorului. Această funcție booleană returnează True dacă șirul este gol și False dacă nu. Această funcție vă ajută să verificați dacă un șir este gol înainte de a efectua orice activitate pe șir, deoarece puține dintre funcții fac o excepție pentru șirurile goale care întrerupe fluxul de execuție.

String s1 = Hei acolo ;

Șirul s2 = „” ;

Sistem . afară . println(s1 . isEmpty()); //linia 1

Sistem . afară . println(s2 . isEmpty()); //randul 2

Fragmentul de deasupra afișează False pentru linia 1 și True pentru linia 2.

lungime()

Aflarea lungimii unui șir nu mai este o sarcină plictisitoare, funcția length() din Java returnează lungimea șirului dat. Aceasta returnează zero dacă un șir gol este transmis ca parametru.

String s1 = abcdefghijklmnopqrstuvwxyz ;

Sistem . afară . println(s1 . lungime());

Codul de mai sus afișează 26.

a inlocui()

Spre deosebire de funcția indexOf(), unde returnează doar prima apariție a secvenței, funcția înlocuiește() înlocuiește toate caracterele specificate cu caracterul nou dat și returnează un șir nou. Această funcție publică așteaptă două caractere, să spunem c1 și c2 ca parametri. Unde caută toate caracterele egale cu c1 și le înlocuiește cu c2.

String s1 = bună ziua ;

Sistem . afară . println(s1 . înlocuiți( ' l ' , ' p ' ));

Amintiți-vă că această funcție ține cont de majuscule și minuscule, astfel încât fragmentul de mai sus afișează „heppoHELLO”.

toLowerCase() și toUpperCase()

Convertirea unui șir în litere mici sau invers este o sarcină distractivă în Java, care are nevoie doar de arta unei singure linii de cod, iar funcțiile toLowerCase(), toUpperCase() sunt artiștii.

Aceste funcții publice nu așteaptă parametri și returnează un șir nou cu caracterele minuscule și majuscule actualizate.

String s1 = Hei acolo ;

Sistem . afară . println(s1 . laMajuscule()); //linia 1

Sistem . afară . println(s1 . toLowerCase()); //randul 2

În fragmentul de mai sus, linia 2 afișează „hei there”, iar linia 1 afișează „HEY THERE”.

Aflați: Gestionarea evenimentelor în Java: Ce este și cum funcționează?

tunde()

O abordare naivă pentru a elimina spațiile albe de final și de început dintr-un șir este de a trece peste șir și de a elimina caracterul dacă este un spațiu alb, dar există o modalitate optimă. Funcția trim() elimină toate spațiile de început și de final ale șirului și returnează un șir nou. Această funcție publică nu se așteaptă la niciun parametru.

String s1 = Hei acolo ;

Sistem . afară . println(s1 . trim());

Fragmentul de mai sus afișează „Hey There”, care este noul șir după tăierea spațiilor albe de sfârșit și de început.

Concluzie

Am parcurs câteva dintre funcțiile șir din java, am înțeles cum funcționează, ce se așteaptă și ce revin. Am explorat semnăturile suprascrise ale câtorva funcții, am parcurs un fragment de cod eșantion pentru o înțelegere adecvată. Acum că sunteți la curent cu câteva funcții, începeți să le utilizați ori de câte ori este necesar.

Dacă sunteți interesat să aflați mai multe despre Java, POO și dezvoltarea de software full-stack, consultați Diploma PG de upGrad și IIIT-B în Dezvoltare de software Full-stack, care este concepută pentru profesioniști care lucrează și oferă peste 500 de ore de formare riguroasă, 9 + proiecte și sarcini, statutul de absolvenți IIIT-B, proiecte practice practice și asistență pentru locuri de muncă cu firme de top.

Pregătiți-vă pentru o carieră a viitorului

ÎNVĂȚARE DE ÎNCREDERE ÎN INDUSTRIE - CERTIFICARE RECUNOSCĂ ÎN INDUSTRIE.
Aflați mai multe