"Hi, Amigo!"

"Ngunit, Bilaabo, nag-hello ka na."

"Talaga? Well, I still like starting each lesson with that phrase."

"Ngayon ay pag-aaralan natin nang malalim ang klase ng String."

"Pero, alam ko na ang lahat tungkol dito. Kahit alam ko na ang String class ay hindi nababago."

"Ang String class ay may 46 na pamamaraan. Ilan sa kanila ang kilala mo?"

"No more than ten. Actually, mga 5 max siguro."

"Kung gayon makinig ka."

"Napansin ng mga tagalikha ng Java na ang karamihan sa mga string sa mga programa ay hindi nilalayong baguhin, ngunit kung minsan ay nababago pa rin ang mga ito. Nakakainis kapag lumikha ka ng String, nag-save ng isang bagay na mahalaga dito, ipasa ito sa pamamaraan ng ibang tao, at mababago ito. . Upang maiwasang mangyari ito, nagpasya silang lumikha ng parehong nababago at hindi nababagong Strings."

"Ang klase ng String ay para sa mga hindi nababagong string, at ang klase ng StringBuilder ay para sa mga nababago. Ang mga bagay ng mga klaseng ito ay madaling ma-convert sa ibang uri. Sa karamihan ng mga kaso, kailangan lang ng mga developer ng Java ng String, na nagpapatunay na tama ang mga tagalikha ng Java."

"Kaya kung kailangan ko ng String, ginagamit ko ang String class. At kung kailangan ko ng nababagong String, gagamitin ko ang StringBuilder class?"

"Oo. Sa totoo lang, may isa pang klase na tinatawag na StringBuffer. Ito ay isang kopya ng StringBuilder, maliban sa lahat ng mga pamamaraan nito ay idineklara bilang naka-synchronize , upang ang bagay ay ma-access mula sa iba't ibang mga thread ng programa."

"At paano ang halimbawang ito? Hindi ba nababago ang string dito?"

String s = "cat";
s = s + "-" + s;

"Hindi. Mayroong dalawang String object dito: «cat» at «cat-cat». Ang pangalawa ay nilikha gamit ang una, ngunit ang unang bagay ay hindi nagbabago. Sa katotohanan, ang mga bagay ay mas kawili-wili dito. Narito ang code nabubuo ang compiler kapag pinagsama nito ang iyong halimbawa:"

String s = "cat";
StrinsBuilder s2 = new StringBuilder(s);
s2.append("-");
s2.append(s);
s = s2.toString();

"Kaya, ang StringBuilder ay halos palaging ginagamit upang lumikha ng mga bagong String, ngunit kung minsan ang compiler ay ginagawa lang ang lahat ng gawain para sa iyo. Ngunit ang iyong bersyon ay mas simple, hindi ba?"

"Oo, ito ay kahanga-hangang Java ay may tulad ng isang advanced na compiler."

"Buweno, ngayon ay maglakad tayo sa mga pamamaraan ng klase ng String:"

1) Paano ko mahahanap ang haba ng String?

"Ibinabalik ng paraan ng haba ang haba ng String (ang bilang ng mga character dito)."

Paraan) (mga) halimbawa
int length();
String s = "Good news, everyone!";
int n = s.length();
int n = "Good news, everyone!".length();

2) Paano ako makakakuha ng isang character mula sa isang String?

"Ang paraan ng charAt ay nagbabalik ng isang character mula sa isang String sa pamamagitan ng index nito. Ang mga indeks ng character ay nagsisimula sa 0.

Paraan) (mga) halimbawa
char charAt(int index)
String s = "Good news, everyone!";
char n = s.charAt(5);
char n = "Good news, everyone!".charAt(5);

3) Paano ako makakakuha ng mga character mula sa isang String?

Paano ako makakakuha ng mga character mula sa isang String?

Paraan) (mga) halimbawa
char[]toCharArray ()
String s = "Good news, everyone!";
for(char c: s.toCharArray())
{
System.out.println(c);
}

4) Paano ko ihahambing ang Strings?

"Ang equals method ay nagsusuri kung ang Strings ay tumutugma, at ang equalsIgnoreCase na paraan ay nagsusuri upang makita kung ang Strings ay tumutugma kapag ang kaso ay hindi pinansin.

Paraan) Paraan)
boolean equals(Object o)
String s = "cat";
boolean test1 = s.equals("cat");//true
boolean test2 = s.equals("Cat");//false
boolean test3 = s.equals("c"+"a"+"t");//true
boolean equalsIgnoreCase(String str)
String s = "cat";
boolean test1 = s.equalsIgnoreCase("cat");//true
boolean test2 = s.equalsIgnoreCase("Cat");//true
boolean test3 = s.equalsIgnoreCase("cAT");//true

5) Paano ko gagawin ang lahat ng mga titik sa isang String na uppercase o lowercase?

"Ang toUpperCase method ay nagbabalik ng kopya ng String kasama ang lahat ng malalaking titik."

"Ang toLowerCase method ay nagbabalik ng kopya ng String kasama ang lahat ng maliliit na titik."

Paraan) (mga) halimbawa
String toUpperCase()
String s = " Good news, everyone!  ";
s = s.toUpperCase();

Resulta:

s == "GOOD NEWS, EVERYONE!";
String toLowerCase()
String s = "Good news, everyone!";
s = s.toLowerCase();

Resulta:

s == "good news, everyone!";

6) Paano ko aalisin ang mga puwang sa simula at dulo ng isang String?

"Ang paraan ng pag-trim ay nagbabalik ng isang kopya ng isang String na walang mga whitespace na character sa simula at dulo."

Paraan) (mga) halimbawa
String trim()
String s = "   Good news, everyone!   ";
s = s.trim();

Resulta:

s == "Good news, everyone!";