"Vad tycker du, Amigo? Vilken är den populäraste Java-klassen efter int?"
"Du har redan gett mig en spoiler i titeln på lektionen, Ellie. Det är String!"
"Det är faktiskt en spoiler. Stringanvänds absolut överallt. Den har en massa användbara metoder som du är bättre att känna till.
" StringKlassen är den enda klassen förutom primitiva typer vars bokstavliga ord kan användas i ett switchuttalande; kompilatorn hanterar strängaddition och strängobjekt på ett speciellt sätt; Stringobjekt lagras i minnet på ett speciellt sätt. I grund och botten Stringär klassen en mycket specialklass.
"Klassen har också Stringett gäng medhjälparklasser vars syfte är att ytterligare förenkla arbetet med strängar i Java. När du lär dig allt detta kommer många saker verkligen att bli mycket lättare för dig att göra."
"Jag kan inte vänta."
"Tja, vi börjar från själva kärnan av detta ekosystem - klassens organisation. StringKlassens struktur Stringär faktiskt väldigt enkel: inuti den finns en teckenuppsättning ( chararray) som lagrar alla tecken i strängen. För Så här lagras till exempel ordet "Hej":
Det är viktigt.
Egentligen är detta inte riktigt korrekt. Eftersom Stringklassen är väldigt viktig använder den många optimeringar och data lagras internt inte som en teckenuppsättning, utan helt enkelt som en bytematris.
Metoder i klassen String
Klassen Stringhar många metoder: den har bara 18 konstruktörer! Så nedan kommer jag bara att lista de mest använda:
| Metoder | Beskrivning |
|---|---|
|
Returnerar antalet tecken i strängen |
|
Kontrollerar om strängen är en tom sträng |
|
Kontrollerar att strängen endast innehåller blanksteg: mellanslag, tabb, ny rad, etc. |
|
Returnerar tecknet vid indexpositionen i strängen. |
|
Returnerar en uppsättning av tecken (en kopia) som utgör strängen |
|
Konverterar en sträng till en uppsättning byte och returnerar arrayen av byte. |
|
Delar upp en sträng i flera delsträngar. |
|
Sammanfogar flera delsträngar |
|
Lägger ett snöre i snörepoolen. |
"Det ser väldigt bra ut!"
"Låt oss skriva ett program som konverterar en filsökväg från Unix-stil till Windows-stil. Unix använder tecknet /för att separera mappar, medan Windows använder \tecknet.
Lösning 1. Använda en chararray
| Koda | Anteckningar |
|---|---|
|
Skapa ett skannerobjekt Läs en rad från konsolen Konvertera en sträng till en teckenuppsättning Slinga över tecknen Om tecknet är , /ersätt det med \. Glöm inte att fly. Skapa en ny sträng baserat på teckenuppsättningen. Visa strängen. |
Lösning 2. Använd metoderna split()och join():
| Koda | Anteckningar |
|---|---|
|
Skapa ett skannerobjekt Läs en rad från konsolen Konvertera sträng till en array av strängar . Tecknet /används som en separator (de extra två snedstreck är resultatet av dubbel escape). Sammanfoga alla strängar i raden av strängar . Den \används som en separator (vi ser att den har escaped). Visa strängen. |
Lösning 3. Använd replace(char oldChar, char newChar)metoden:
| Koda | Anteckningar |
|---|---|
|
Skapa ett skannerobjekt Läs en rad från konsolen Byt bara ut ett tecken med ett annat (det andra är escaped) Visa strängen. |
"Jag gillade den tredje lösningen mest. Men jag ska träna alla tre."
"Bra gjort, Amigo. Jag ser att du redan är otålig att omsätta dina nya kunskaper i praktiken. Lektionen är över."
GO TO FULL VERSION