Wat u moet weten over het gebruik van strings in Java

Wat u moet weten over het gebruik van strings in Java

Zodra je Java begint te leren, zal de String-klasse je aandacht trekken dankzij zijn unieke eigenschappen.





U kunt strings in Java gemakkelijker maken en manipuleren dan in andere talen. Dat komt omdat de klasse String verschillende functies biedt.





Op basis van deze functies zijn er verschillende methoden om strings te genereren en te bewerken, afhankelijk van uw voorkeuren en behoeften. Evenzo hangt veel af van uw toepassing en waar strings moeten worden gebruikt.





Hoe zijn Java-strings anders?

Als je eerder met C-taal hebt gewerkt, weet je dat strings in C een array zijn van chars (karakters). Aan de andere kant zijn Java-strings onveranderlijk en bevatten ze Unicode-tekens.

windows 10 eerste dingen om te doen

Een van de belangrijkste kenmerken die strings in Java uniek maken, is aaneenschakeling. Gebruik gewoon de opteloperator + om twee of meer strings samen te voegen. Dit is iets wat u niet kunt doen met andere Java-objecten, zoals: Punt of Cirkel .



Ook, zoals eerder vermeld, zijn Java Strings onveranderlijk, d.w.z. u kunt ze niet wijzigen. Bijvoorbeeld, methoden zoals naarHoofdletter() en naarLowerCase() een volledig nieuwe string genereren, in plaats van wijzigingen aan te brengen in de bestaande stringinhoud. Nu retourneert uw code deze nieuw gegenereerde tekenreeks.

Gerelateerd: Tekst manipuleren in PHP met deze functies





Een ander gebied waar strings anders zijn, is als het gaat om het gebruik van null-tekens voor het beëindigen van strings in talen als C. In Java zijn strings objecten die worden ondersteund door tekenarrays. Als u de inhoud van uw tekenreeks wilt lezen op de manier waarop tekenarrays ze weergeven, gebruikt u de naarCharArray() methode zal het werk doen.

Het vergelijken van strings in Java is ook handiger dan in andere programmeertalen. In plaats van een lang codeblok te schrijven om strings te vergelijken, kun je de gelijk aan() methode om twee of meer strings te vergelijken die in een programma worden gebruikt. Dit komt vooral omdat in Java de gelijk aan methode wordt overschreven door de klasse String, waardoor het vergelijken van strings een fluitje van een cent wordt.





Op dezelfde manier is zoeken binnen substrings in Java ook probleemloos. Tijdens het gebruik van reguliere expressies of methoden zoals lastIndexOf() en index van(), u kunt segmenten van tekenreeksen doorzoeken en waarden retourneren zodra een overeenkomst is geïdentificeerd. U kunt ook reguliere expressies gebruiken om verschillende strings bij te knippen en te splitsen en ze afzonderlijk te gebruiken voor een breed scala aan toepassingen in elk programma.

Hoe worden strings in het geheugen opgeslagen?

Nu je weet wat strings in Java anders en nuttig maakt, gaan we de klasse String eens nader bekijken. Als je het een en ander weet over geheugenbeheer in Java, dan heb je vast te maken gehad met de twee belangrijkste entiteiten: heap en stack.

De stapel wordt gebruikt om processen en bewerkingen uit te voeren nadat ze door een Java-programma zijn aangeroepen, terwijl heap inhoud opslaat - die nodig is om code effectief uit te voeren en uit te voeren. Dus, hoe is geheugenbeheer relevant in het geval van strings?

Dat komt omdat de klasse String en letterlijke tekenreeksen in Java een verschillende behandeling krijgen. Dit geeft aan dat letterlijke tekenreeksen unieke opslagruimte krijgen toegewezen in het heapgeheugen, de String Constant Pool. Daarom slaat de String Constant Pool deze op wanneer u letterlijke tekenreeksen gebruikt om tekenreeksobjecten in Java te maken.

Integendeel, wanneer u de nieuwe trefwoord om string-objecten te maken, behandelt Java ze net als elk ander object en stuurt ze naar de heap voor opslag.

Voorbeeld van tekenreeksletters

Nu u genoeg weet over tekenreeksobjecten, laten we een voorbeeld van letterlijke tekenreeksen doornemen:


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

Hier creëerde de letterlijke string het String-object met inhoud Hello World van MUO. Java stuurt dit object naar de String Constant Pool.

Het nieuwe trefwoord gebruiken

U kunt ook de nieuwe trefwoord om String-objecten te genereren.

Het string-object van de string himuo met inhoud Hello World van MUO is gegenereerd door een letterlijke string en wordt verzonden naar de String Constant Pool. Op dezelfde manier kunnen string-objecten ook als volgt worden gemaakt met het nieuwe trefwoord:


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

Het bovenstaande voorbeeld gebruikt de nieuwe trefwoord om een ​​stringobject te maken. Zoals eerder uitgelegd, worden ze naar de heap gestuurd, waar ze worden opgeslagen met andere variabelen en objecten die wachten om door het programma te worden uitgevoerd.

Inmiddels ben je vast benieuwd naar de String Constant Pool, en terecht. Het wijst poolruimte toe aan objecten op basis van de inhoud van het tekenreeksobject. Nadat de String Constant Pool objecten heeft ontvangen, controleert deze deze om te verifiëren of twee objecten exact dezelfde inhoud bevatten.

Kunnen twee stringobjecten dezelfde inhoud opslaan?

Wanneer een letterlijke tekenreeks wordt gebruikt om een ​​nieuw object te maken, beoordeelt Java Virtual Machine (JVM) de objectinhoud en evalueert of deze al in de pool bestaat. Wanneer een object inhoud bevat die al in de pool aanwezig is, wordt de verwijzing van het object geretourneerd zonder het nieuwe object te maken. Als u het nieuwe object moet maken, moet u ervoor zorgen dat de inhoud duidelijk en uniek is.

Als u echter de nieuwe trefwoord om een ​​nieuwe string te maken, wordt deze anders verwerkt. Wanneer u de nieuwe trefwoord om een ​​nieuwe string aan te maken, wordt deze gegenereerd, ongeacht of deze dezelfde inhoud bevat als de bestaande string.

Dit geeft aan dat twee bestaande string-objecten die zijn opgeslagen in het heapgeheugen dezelfde inhoud mogen bevatten; dit verschilt van string-objecten die zijn opgeslagen in de String Constant Pool. Je kunt dit ook bewijzen met de == operator; het geeft true terug als twee objecten met hetzelfde fysieke adres worden vergeleken.


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

Nu kunt u gemakkelijk strings in Java begrijpen

In dit artikel heb je geleerd hoe strings in Java verschillen, manieren om strings in Java te gebruiken, geheugenbeheer van strings in Java en andere belangrijke details over hoe strings werken. Om uw begrip te testen, waarom zou u geen Java-programma schrijven om twee strings samen te voegen?

Deel Deel Tweeten E-mail Python leren? Hier leest u hoe u snaren kunt manipuleren

Strings gebruiken en manipuleren in Python kan moeilijk lijken, maar het is bedrieglijk eenvoudig.

Lees volgende
Gerelateerde onderwerpen
  • Programmeren
  • Java
Over de auteur Usman Ghana(4 artikelen gepubliceerd)

Usman is een contentmarketeer die verschillende bedrijven heeft geholpen met organische groei op digitale platforms. Hij houdt van zowel programmeren als schrijven, wat betekent dat technisch schrijven iets is wat hij erg leuk vindt. Als hij niet aan het werk is, besteedt Usman graag tijd aan het kijken naar tv-programma's, het volgen van cricket en lezen over data-analyse.

Meer van Usman Ghani

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren