*   >> läser Utbildning artiklar >> tech >> web development

Fördelar och nackdelar med String genomförande I JAVA

Advantages av String genomförande i java1. Sammanställning skapar unika strängar. Vid kompileringen, är strängar omprövas så långt det är möjligt. Detta inkluderar att applicera operatorn och konvertera andra litteraler till strängar. Så Hi7 och (hi + 7) båda får lösas vid kompileringen till samma sträng, och är identiska objekt i klassen strängen poolen. Kompilatorer skiljer sig åt i sin förmåga att uppnå denna resolution. Du kan alltid kontrollera din kompilator (t.ex. genom dekompilering några uttalanden som involverar sammanfogning) och ändra det om needed.2.

Eftersom String objekt är oföränderliga, en träng operation behöver inte till kopiera hela underliggande sekvensen av tecken. I stället kan en träng använda samma char array som den ursprungliga strängen och bara hänvisa till en annan startpunkt och slutpunkt i char array. Detta innebär att träng verksamhet är effektiv, att vara både snabb och konserverande av minne; det extra objektet är bara ett omslag på samma underliggande röding array med olika pekare till det array.3.

Strängar genomförs i JDK som en intern röding array med indexförskjutningar (egentligen en start offset och en antal tecken). Denna grundläggande struktur är ytterst osannolikt att ändras i någon version av Java.4. Strängar har ett starkt stöd för internationalisering. Det skulle ta en stor insats för att återskapa internationalisering stöd för en alternativ class.5. Den nära relationen med StringBuffers gör strängar att referera till samma char array som används av String. Detta är ett dubbeleggat svärd.

För typiska praxis, när du använder en String att manipulera och lägga tecken och datatyper, och sedan omvandla det slutliga resultatet till en sträng, detta fungerar alldeles utmärkt. Den String erbjuder effektiva mekanismer för odling, sätter lägga, ändra, och andra typer av String manipulation. Den resulterande String sedan effektivt refererar samma char array utan extra karaktär kopiering. Detta är mycket snabb och minskar antalet objekt som används till ett minimum genom att undvika mellan föremål.

Om emellertid String objektet därefter ändras, är den char array av att String kopieras till en ny char array som nu hänvisas till av String. String-objektet behåller hänvisningen till den tidigare delade char array. Detta innebär att kopiering overhead kan ske vid oväntade punkter i programmet. I stället för den kopiering uppträder vid metoden toString () anrop, som kan förväntas, varje efterföljande ändring av String orsakar

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 läser Utbildning artiklar,https://utbildning.nmjjxx.com All rights reserved.