Ką reikia žinoti apie eilučių naudojimą „Java“

Ką reikia žinoti apie eilučių naudojimą „Java“

Kai pradėsite mokytis „Java“, „String“ klasė atkreips jūsų dėmesį dėl savo unikalių savybių.





„Java“ eilutes galite kurti ir manipuliuoti lengviau nei kitomis kalbomis. Taip yra todėl, kad „String“ klasė siūlo įvairias funkcijas.





Remiantis šiomis funkcijomis, yra keletas būdų, kaip sukurti ir redaguoti eilutes, atsižvelgiant į jūsų pageidavimus ir poreikius. Panašiai daug kas priklausys nuo jūsų programos ir to, kur reikia naudoti eilutes.





Kuo skiriasi „Java“ eilutės?

Jei anksčiau dirbote su C kalba, žinote, kad C eilutės yra masyvas simboliai (personažai). Kita vertus, „Java“ eilutės yra nekintamos ir jose yra „Unicode“ simbolių.

kažkas mane užblokavo „Facebook“, kaip galiu pamatyti jų profilį

Viena iš pagrindinių „Java“ eilučių ypatybių yra sujungimas. Tiesiog naudokite papildymo operatorių +, kad sujungtumėte dvi ar daugiau eilučių. To negalima padaryti su kitais „Java“ objektais, pvz Taškas arba Apskritimas .



Be to, kaip minėta anksčiau, „Java“ eilutės yra nekintamos, ty jūs negalite jų keisti. Pavyzdžiui, tokie metodai kaip iki didžiųjų raidžių () ir toLowerCase () sukurkite visiškai naują eilutę, užuot pakeitę esamą eilutės turinį. Dabar jūsų kodas grąžins šią naujai sukurtą eilutę.

Susijęs: Kaip manipuliuoti tekstu PHP naudojant šias funkcijas





Kita sritis, kurioje eilutės skiriasi, yra tai, kad kalbant apie tokias kalbas kaip C. reikia naudoti nulinius simbolius, norint užbaigti eilutes. „Java“ eilutės yra objektai, kuriuos palaiko simbolių masyvai. Jei norite perskaityti eilutės turinį taip, kaip simbolių masyvai juos vaizduoja, naudokite toCharArray () metodas atliks darbą.

Lyginti „Java“ eilutes taip pat patogiau nei kitose programavimo kalbose. Užuot rašę ilgą kodo bloką eilutėms lyginti, galite naudoti lygu () metodas, leidžiantis palyginti dvi ar daugiau bet kurioje programoje naudojamų eilučių. Tai daugiausia dėl to, kad „Java“ lygus metodą nepaiso String klasė, todėl stygų palyginimas tampa torto gabalu.





Panašiai, be jokių problemų taip pat reikia ieškoti „Java“ antrinėse eilutėse. Naudojant įprastas išraiškas ar tokiais metodais kaip lastIndexOf () ir indexOf (), nustačius atitiktį, galite ieškoti eilučių segmentų ir grąžinti reikšmes. Taip pat galite naudoti įprastas išraiškas, norėdami apkarpyti ir padalyti skirtingas eilutes ir naudoti jas atskirai įvairiems tikslams bet kurioje programoje.

Kaip stygos saugomos atmintyje?

Dabar, kai žinote, kuo „Java“ eilutės skiriasi ir naudingos, panagrinėkime „String“ klasę. Jei žinote vieną ar du dalykus apie atminties valdymą „Java“, tuomet turėjote susidoroti su dviem pagrindiniais objektais: krūva ir krūva.

Krūva naudojama procesams ir operacijoms vykdyti po to, kai ją iškvietė „Java“ programa, o krūva saugo turinį - reikalingą efektyviam kodo paleidimui ir vykdymui. Taigi, kaip atminties valdymas yra svarbus eilučių atveju?

Taip yra todėl, kad „String“ klasė ir „string“ literatai „Java“ traktuojami skirtingai. Tai rodo, kad eilučių literalams priskiriama unikali saugyklos vieta krūvos atmintyje, vadinama „String Constant Pool“. Todėl, kai naudojate eilutės literalus, kad sukurtumėte eilutės objektus „Java“, „String Constant Pool“ juos saugo.

Priešingai, kai naudojate naujas raktinį žodį, kad sukurtumėte eilutės objektus, „Java“ su jais elgsis kaip su bet kuriuo kitu objektu ir nusiųs juos į krūvą saugojimui.

Styginių literatūros pavyzdys

Dabar, kai pakankamai žinote apie eilutės objektus, pažvelkime į eilutės literalų pavyzdį:


public class muostrings {
public static void main(String args[])
{
String himuo = 'Hello World from MUO';
System. out .println (himuo);
}
}

Čia eilutės literalas sukūrė „String“ objektą su turiniu „Hello World“ iš MUO. „Java“ nusiųs šį objektą į eilutės pastovųjį telkinį.

Naujo raktažodžio naudojimas

Taip pat galite naudoti naujas raktinį žodį, kad sukurtumėte eilutės objektus.

Eilutės „himuo“ eilutės objektas su turiniu „Hello World“ iš MUO buvo sukurtas eilutės literale ir bus išsiųstas į eilutės pastovųjį telkinį. Panašiai eilutės objektus taip pat galima sukurti naudojant naują raktinį žodį:


public class muostringsobj {
public static void main(String args[]) {
char [] strArr = { 'M', 'O', 'U'};
String jStr = new String(strArr);
System. out .println( jStr );
}
}

Aukščiau pateiktame pavyzdyje naudojama naujas raktinį žodį, kad sukurtumėte eilutės objektą. Kaip paaiškinta anksčiau, jie siunčiami į krūvą, kur saugomi kartu su kitais kintamaisiais ir objektais, kurie laukia, kol programa bus įvykdyta.

Iki šiol jūs turite būti smalsūs apie „String Constant Pool“, ir teisingai. Jis paskirsto baseino erdvę objektams pagal eilutės objekto turinį. Kai eilutės nuolatinis baseinas gauna objektus, jis patikrina, ar dviejuose objektuose yra visiškai tas pats turinys.

Ar du eilučių objektai gali saugoti tą patį turinį?

Kai eilutės literalas naudojamas kuriant naują objektą, „Java Virtual Machine“ (JVM) peržiūri objekto turinį ir įvertina, ar jis jau yra telkinyje. Kai objekte yra turinio, kuris jau yra telkinyje, objekto nuoroda grąžinama nesukuriant naujo objekto. Jei turite sukurti naują objektą, turite įsitikinti, kad turinys yra išskirtinis ir unikalus.

Tačiau, jei naudojate naujas raktinį žodį, kad sukurtumėte naują eilutę, ji bus apdorota skirtingai. Kai naudojate naujas raktinis žodis, kad būtų sukurta nauja eilutė, jis bus sugeneruotas, neatsižvelgiant į tai, ar jame yra toks pat turinys kaip ir esamos eilutės.

Tai rodo, kad du esami eilutės objektai, saugomi kaupo atmintyje, gali turėti tą patį turinį; tai skiriasi nuo eilutės objektų, saugomų eilutės nuolatiniame telkinyje. Tai taip pat galite įrodyti naudodami == operatorių; grąžinama tiesa, jei lyginami du objektai, turintys tą patį fizinį adresą.


public class comparingStrngs {
public static void main(String[] args)
{
String firstLiteral = 'muo1';
String secondLiteral = 'muo1';
System. out .println(firstLiteral == secondLiteral);
String firstKeyword = new String('muo2');
String secondKeyword = new String('muo2');
System. out .println(firstKeyword == secondKeyword);
}
}

Dabar galite lengvai suprasti „Java“ eilutes

Šiame straipsnyje jūs sužinojote, kuo skiriasi „Java“ eilutės, būdai, kaip naudoti „Java“ eilutes, atminties tvarkymas „Java“ eilutėse ir kita svarbi informacija apie eilučių veikimą. Norėdami patikrinti savo supratimą, kodėl gi neparašius „Java“ programos, kad būtų sujungtos dvi eilutės?

Dalintis Dalintis „Tweet“ Paštu Mokytis Python? Štai kaip manipuliuoti eilutėmis

Naudoti ir manipuliuoti eilutėmis „Python“ gali atrodyti sunku, tačiau tai apgaulingai paprasta.

Skaityti toliau
Susijusios temos
  • Programavimas
  • „Java“
Apie autorių Usmanas Ghani(Paskelbti 4 straipsniai)

Usmanas yra turinio rinkodaros specialistas, padėjęs kelioms įmonėms organiškai augti skaitmeninėse platformose. Jam patinka ir programavimas, ir rašymas, o tai reiškia, kad techninis rašymas jam labai patinka. Kai nedirba, Usmanas mėgsta leisti laiką žiūrėdamas televizijos laidas, sekdamas kriketą ir skaitydamas apie duomenų analizę.

Daugiau iš Usmano Ghani

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kad gautumėte techninių patarimų, apžvalgų, nemokamų el. Knygų ir išskirtinių pasiūlymų!

Norėdami užsiprenumeruoti, spustelėkite čia