Mida peate teadma stringi kasutamise kohta Java -s

Mida peate teadma stringi kasutamise kohta Java -s

Kui alustate Java õppimist, köidab String klass teie tähelepanu tänu oma ainulaadsetele omadustele.





Saate Java keeles stringe luua ja manipuleerida lihtsamalt kui teisi keeli. Seda seetõttu, et String klass pakub erinevaid funktsioone.





Nende funktsioonide põhjal on stringide genereerimiseks ja muutmiseks sõltuvalt teie eelistustest ja vajadustest mitmeid meetodeid. Samamoodi sõltub palju teie rakendusest ja sellest, kus stringe tuleb kasutada.



Kuidas Java stringid erinevad?

Kui olete varem C -keelega töötanud, teate, et stringid C -s on massiiv märgid (tegelased). Teisest küljest on Java stringid muutumatud ja sisaldavad Unicode'i märke.

kuidas Android -telefonist faile jäädavalt kustutada

Üks peamisi funktsioone, mis Java stringid ainulaadseks muudavad, on liitmine. Kasutage kahe või enama stringi ühendamiseks lihtsalt liitmisoperaatorit +. Seda ei saa teha teiste Java -objektidega, näiteks Punkt või Ring .



Samuti, nagu varem mainitud, on Java stringid muutumatud, st te ei saa neid muuta. Näiteks sellised meetodid nagu toVarpCase () ja toLowerCase () genereerida täiesti uus string, selle asemel, et teha muudatusi olemasolevas stringi sisus. Nüüd tagastab teie kood selle äsja loodud stringi.

Seotud: Kuidas nende funktsioonidega PHP -s teksti manipuleerida





Teine valdkond, kus stringid on erinevad, on nullmärkide kasutamine stringide lõpetamiseks sellistes keeltes nagu C. Java -s on stringid objektid, mida toetavad märgimassiivid. Kui soovite lugeda oma stringi sisu nii, nagu märgimassiivid neid esindavad, kasutage toCharArray () meetod teeb oma töö.

Stringide võrdlemine Java -s on ka mugavam kui teistes programmeerimiskeeltes. Stringide võrdlemiseks pika koodiploki kirjutamise asemel võite kasutada võrdub () meetod kahe või enama programmis kasutatava stringi võrdlemiseks. Seda peamiselt seetõttu, et Java -s on võrdub meetodi alistab klass String, mis muudab stringide võrdlemise koogitükiks.





Sarnaselt võib ka Java-s alamstringides otsida probleemideta. Regulaaravaldiste kasutamisel või selliseid meetodeid lastIndexOf () ja indeks(), saate otsida stringide segmente ja tagastada väärtusi, kui vaste on tuvastatud. Regulaaravaldisi saate kasutada ka erinevate stringide kärpimiseks ja poolitamiseks ning eraldi kasutamiseks mitmesuguste programmide jaoks.

Kuidas stringid mällu salvestatakse?

Nüüd, kui teate, mis muudab Java stringid erinevaks ja kasulikuks, uurime Stringi klassi. Kui teate Java -i mäluhalduse kohta midagi või kaks, siis peate olema tegelenud selle kahe võtmeüksusega: hunnik ja pinu.

Pinu kasutatakse protsesside ja toimingute tegemiseks pärast Java -programmi kutsumist, samas kui hunnik salvestab sisu - see on vajalik koodi tõhusaks käivitamiseks ja täitmiseks. Niisiis, kuidas on mäluhaldus stringide puhul asjakohane?

Seda seetõttu, et Stringi klassi ja stringi literaale Java -s käsitletakse erinevalt. See näitab, et stringide literaalidele on hunniku mällu määratud ainulaadne salvestusruum, mida nimetatakse String Constant Pooliks. Seetõttu salvestab String Constant Pool alati, kui kasutate stringi -literaale Java -stringi objektide loomiseks.

Vastupidi, kui kasutate uus märksõna stringi objektide loomiseks, käsitleb Java neid nagu kõiki teisi objekte ja saadab need hunnikusse ladustamiseks.

String Literalsi näide

Nüüd, kui teate stringiobjektide kohta piisavalt, vaatame läbi stringide literaalide näite:


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

Siin lõi string literal MUO -st objekti String koos sisuga Hello World. Java saadab selle objekti String Constant Poolile.

Uue märksõna kasutamine

Võite kasutada ka uus märksõna stringi objektide genereerimiseks.

Stringi himuo stringiobjekt koos sisuga Hello World MUO -st on genereeritud string -literaali abil ja see saadetakse String Constant Poolile. Sarnaselt saab stringi objekte luua ka uue märksõna abil järgmiselt.


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

Ülaltoodud näites kasutatakse uus märksõna stringi objekti loomiseks. Nagu varem selgitatud, saadetakse need hunnikusse, kus need salvestatakse koos teiste muutujate ja objektidega, mis ootavad programmi täitmist.

Nüüdseks peate olema uudishimulik String Constant Pool'i suhtes ja see on õigustatud. See eraldab objektidele basseiniruumi stringiobjekti sisu põhjal. Pärast seda, kui String Constant Pool saab objekte, kontrollib neid, et kontrollida, kas kaks objekti sisaldavad täpselt sama sisu.

Kas kaks stringi objekti saavad salvestada sama sisu?

Kui stringi literaali kasutatakse uue objekti loomiseks, vaatab Java Virtual Machine (JVM) objekti sisu üle ja hindab, kas see on juba kogumis olemas. Kui objekt sisaldab sisu, mis on kogumis juba olemas, tagastatakse objekti viide ilma uut objekti loomata. Kui peate uue objekti looma, peate veenduma, et sisu on eristatav ja ainulaadne.

Kui aga kasutate uus märksõna uue stringi loomiseks, töödeldakse seda erinevalt. Kui kasutate uus märksõna uue stringi loomiseks, genereeritakse see sõltumata sellest, kas see sisaldab olemasoleva stringi sama sisu.

See näitab, et hunniku mällu salvestatud kahel olemasoleval stringiobjektil on lubatud sama sisu sisaldada; see erineb stringi konstantse kogumi salvestatud stringiobjektidest. Seda saate tõestada ka operaatoriga ==; see tagastab tõese, kui võrrelda kahte sama füüsilise aadressiga objekti.


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);
}
}

Nüüd saate Java -stringidest hõlpsasti aru

Sellest artiklist õppisite, kuidas stringid Java -s erinevad, kuidas stringe Java -is kasutada, Java -stringide mäluhaldust ja muid olulisi üksikasju stringide toimimise kohta. Mõistmise kontrollimiseks miks mitte kirjutada Java -programm kahe stringi ühendamiseks?

Jaga Jaga Piiksuma E -post Pythoni õppimine? Siit saate teada, kuidas stringidega manipuleerida

Stringide kasutamine ja manipuleerimine Pythonis võib tunduda keeruline, kuid see on petlikult lihtne.

Loe edasi
Seotud teemad
  • Programmeerimine
  • Java
Autori kohta Usman Ghani(4 artiklit avaldatud)

Usman on sisuturundaja, kes on aidanud mitut ettevõtet orgaanilisel kasvul digitaalsetel platvormidel. Talle meeldib nii programmeerimine kui ka kirjutamine, mis tähendab, et tehniline kirjutamine meeldib talle väga. Kui Usman ei tööta, veedab ta hea meelega aega telesaadete vaatamise, kriketi jälgimise ja andmeanalüütika kohta.

Veel Usman Ghanilt

Telli meie uudiskiri

Liituge meie uudiskirjaga, et saada tehnilisi näpunäiteid, ülevaateid, tasuta e -raamatuid ja eksklusiivseid pakkumisi!

Tellimiseks klõpsake siin