"Ano sa tingin mo, Amigo? Ano ang pinakasikat na klase ng Java pagkatapos ng int?"
"Binigyan mo na ako ng spoiler sa title ng lesson, Ellie. It's String
!"
"Sa katunayan, ito ay isang spoiler. String
ay ganap na ginagamit sa lahat ng dako. Ito ay may isang grupo ng mga kapaki-pakinabang na pamamaraan na mas mahusay mong malaman.
"Ang String
klase ay ang tanging klase maliban sa mga primitive na uri na ang mga literal ay maaaring gamitin sa isang switch
pahayag; pinangangasiwaan ng compiler ang pagdaragdag ng string at mga String na bagay sa isang espesyal na paraan; String
ang mga bagay ay naka-stori sa memorya sa isang espesyal na paraan. Karaniwan, ang String
klase ay isang napaka espesyal na klase.
"Gayundin, ang String
klase ay may isang grupo ng mga klase ng katulong na ang layunin ay pasimplehin ang pagtatrabaho sa mga string sa Java. Kapag natutunan mo ang lahat ng ito, maraming bagay ang talagang magiging mas madali para sa iyo na gawin."
"Hindi ako makapaghintay."
"Buweno, magsisimula tayo mula sa pinakaubod ng ecosystem na ito — ang organisasyon ng String
klase. Ang istraktura ng String
klase ay talagang napaka-simple: sa loob nito ay isang character array ( char
array) na nag-iimbak ng lahat ng mga character ng string. Para sa halimbawa, ito ay kung paano iniimbak ang salitang 'Hello':

Ito ay mahalaga.
Sa totoo lang, hindi ito masyadong tumpak. Dahil ang String
klase ay napakahalaga, ito ay gumagamit ng maraming mga pag-optimize, at ang data ay panloob na nakaimbak hindi bilang isang array ng character, ngunit bilang isang byte array lamang.
Mga pamamaraan ng klase ng String
Ang String
klase ay may maraming mga pamamaraan: mayroon itong 18 mga konstruktor lamang! Kaya, sa ibaba ay ililista ko lamang ang mga madalas na ginagamit:
Paraan | Paglalarawan |
---|---|
|
Ibinabalik ang bilang ng mga character sa string |
|
Sinusuri kung ang string ay isang walang laman na string |
|
Sinusuri na ang string ay naglalaman lamang ng mga character na whitespace: space, tab, bagong linya, atbp. |
|
Ibinabalik ang character sa posisyon ng index sa string. |
|
Nagbabalik ng array ng mga character (isang kopya) na bumubuo sa string |
|
Kino-convert ang isang string sa isang hanay ng mga byte at ibinabalik ang hanay ng mga byte. |
|
Hinahati ang isang string sa maraming substring. |
|
Pinagsasama-sama ang maraming substrings |
|
Naglalagay ng string sa string pool. |
"Mukhang napakaganda niyan!"
"Magsulat tayo ng isang program na nagko-convert ng file path mula sa Unix style patungo sa Windows style. Ginagamit ng Unix ang /
character upang paghiwalayin ang mga folder, habang ginagamit ng Windows ang \
character.
Solusyon 1. Paggamit ng char
array
Code | Mga Tala |
---|---|
|
Lumikha ng isang bagay na Scanner Magbasa ng linya mula sa console Mag-convert ng string sa array ng character I-loop ang mga character Kung ang character ay / , palitan ito ng \ . Huwag kalimutan ang tungkol sa pagtakas. Gumawa ng bagong string batay sa array ng character. Ipakita ang string. |
Solusyon 2. Gamit ang split()
at join()
mga pamamaraan:
Code | Mga Tala |
---|---|
|
Lumikha ng isang bagay na Scanner Magbasa ng isang linya mula sa console I-convert ang string sa isang array ng mga string . Ang / karakter ay ginagamit bilang isang separator (ang dagdag na dalawang slash ay resulta ng double escaping). Pagsamahin ang lahat ng mga string sa hanay ng mga string . Ang \ ay ginagamit bilang isang separator (nakikita natin itong nakatakas). Ipakita ang string. |
Solusyon 3. Gamit ang replace(char oldChar, char newChar)
pamamaraan:
Code | Mga Tala |
---|---|
|
Lumikha ng isang bagay na Scanner Magbasa ng isang linya mula sa console Palitan lang ang isang character ng isa pa (ang pangalawa ay nakatakas) Ipakita ang string. |
"Ang pangatlong solusyon ang pinakanagustuhan ko. Pero sasanayin ko ang tatlo."
"Magaling, Amigo. Nakikita ko na naiinip ka na sa pagsasabuhay ng bago mong kaalaman. Tapos na ang lesson."
GO TO FULL VERSION