Documente Academic
Documente Profesional
Documente Cultură
Crearea stringurilor
String s1 = "Hello";
String s2 = "Hello";
String s3 = s1;
String s4 = new String("Hello");
String s5 = new String("Hello");
Concatenarea stringurilor
Sau:
Vom rezolva acest lucru prin utilizarea clasei StringBuilder care este de
fapt o listă de stringuri reprezentate printr-un singur obiect. Utilizând
această clasă, vom reduce semnificativ consumul de memorie în
timpul concatenării stringurilor și vom crește lizibilitatea codului.
Următorul exemplu va da același rezultat ca cel anterior, doar că de
această dată vom utiliza clasa StringBuilder:
System.out.println(sb);
Funcțiile stringurilor
După cum am spus deja, tipul string este un tip de date complex în
Java, fiind un tip de obiect. Acest lucru ne permite ca asupra
variabilelor de acest tip să apelăm diverse metode pentru procesarea
valorilor acestor variabile. În partea următoare, vom utiliza câteva
dintre cele mai utilizate metode pentru procesarea stringurilor. Una
dintre metode este un bloc de cod ce efectuează o anumită funcție.
Metoda poate avea parametri de intrare și de ieșire, însă acest lucru nu
este obligatoriu. Parametrii de intrare, dacă aceștia există, sunt
introduși între paranteze după denumirea metodei. Parametrii de ieșire
reprezintă rezultatul de execuție a metodei.
toCharArray()
rezultatele la ieșire.
length()
String Length is 5
toUpperCase()
toLowerCase()
trim()
indexOf()
Found Index :4
Found Index :9
Found Index :11
Found Index :-1
Found Index :-1
charAt()
substring()
index.
equals()
retVal = str1.equals(str2);
System.out.println(retVal);}
true
false
System.out.println(str1.equals(str2));
System.out.println(str1 == str2);}
true
false
Prima variabilă textuală str1 a fost creată implicit și, prin urmare, a fost
stocată în Common pool, în timp ce a doua variabilă str2 este de fapt
un obiect stocat în heap. Variabilele str1 și str2 conțin doar adresele
valorilor propriu-zise. Acesta este motivul pentru care comparația
făcută cu operatorul de comparație nu dă rezultatele așteptate, fiindcă
operatorul compară de fapt două adrese. Utilizarea metodei equals dă
rezultatele așteptate, având în vedere că stringurile sunt comparate
caracter cu caracter. Pentru verificarea egalităţii string-urilor se poate
utiliza o metodă înrudită cu equals(), această metodă fiind
equalsIgnoreCase(). Această metodă va permite verificarea egalităţii
string-urilor case insensitive.
startsWith()
endsWith()
retVal = str.endsWith("string!");
System.out.println("Returned Value = " + retVal);
retVal = str.endsWith("This");
System.out.println("Returned Value = " + retVal);
}
replace()
**Hello**
split()
Putem vedea că metoda split poate accepta unul sau doi parametri și
că are o funcție diferită în funcție de numărul de parametri. În primul
caz, metoda acceptă un parametru de tip string. Acest parametru
reprezintă stringul în funcție de care stringul sursă va fi împărțit. Al
doilea parametru pe care această metodă îl poate accepta se referă la
numărul maxim de elemente ale șirului final. Cu acest parametru, noi
am definit de fapt numărul maxim de cuvinte în care stringul sursă va
fi împărțit. Haideți să privim un exemplu practic de utilizare a metodei
split, astfel încât totul să devină mai clar:
System.out.println(wordArray2[i]);
}
}
Return Value :
Welcome
to
ITAcademy
Return Value :
Welcome
to-ITAcademy
Return Value :
This
is
a
sentence
This
is
a
question
right
Yes
It
Is
Notă:
Exerciții
Exercițiul 1
Intrarea programului:
String[] texts =
{ "Optimum pH of your water is between 6.0 and 7.0. However Oscars are okay in a pH up t
o 8.0.",
"The Oscar fish is not a difficult fish to look after if you give it a suitable environment to liv
e in. You may start having problems such as health issues if you keep your Oscar in an unsuita
bly small tank or feed it on a poor diet",
"The Oscar has the potential to reach 18 inches. However in captivity Oscars normally grow
to between 8 and 12 inches" };
Soluție:
String[] texts =
{ "Optimum pH of your water is between 6.0 and 7.0. However Oscars are okay in a pH up t
o 8.0.",
"The Oscar fish is not a difficult fish to look after if you give it a suitable environment to liv
e in. You may start having problems such as health issues if you keep your Oscar in an unsuita
bly small tank or feed it on a poor diet",
"The Oscar has the potential to reach 18 inches. However in captivity Oscars normally grow
to between 8 and 12 inches" };
for(int i=0;i<texts.length;i++)
{
if(texts[i].length()>25)
{
String tmpTxt = texts[i].substring(0,22);
tmpTxt = tmpTxt.concat("...");
System.out.println(tmpTxt);
}
}
}
Exercițiul 2
Parametrul de intrare:
Soluție:
String[] files =
{ "picture1.jpg",
"text1.txt",
"picture2.png",
"text2.doc",
"picture3.gif" };
for(int i=0;i<files.length;i++)
{
if(files[i].endsWith(".jpg"))
Sau:
String[] files =
{ "picture1.jpg",
"text1.txt",
"picture2.png",
"text2.doc",
"picture3.gif" };
for(int u = 0;u<permitedExtensions.length;u++)
{
if(permitedExtensions[u].equals(fileExt))
System.out.println("Fajl: " + files[i] + " je tipa " + fileExt );
}
Exercițiul 3
Soluție:
Exercițiul 4
Soluție: