Ebben az oktatóanyagban példák segítségével megismerhetjük a Java karakterláncokat, azok létrehozását és a String különféle módszereit.
A Java-ban a karakterlánc karaktersorozat. Például a "hello" egy karakterlánc, amely a "h", "e", "l", "l" és "o" karakterek sorozatát tartalmazza.
Dupla idézőjeleket használunk a Java karakterláncainak képviseletére. Például,
// create a string String type = "Java programming";
Itt hoztunk létre egy string nevű változót. A változó a karakterlánccal inicializálódik Java Programming
.
Megjegyzés : Vonósok a Java nem primitív típusok (például int
, char
stb). Ehelyett az összes karakterlánc egy előre definiált osztály objektuma String
.
És az összes string változó az String
osztály példánya .
Példa: Karakterlánc létrehozása Java-ban
class Main ( public static void main(String() args) ( // create strings String first = "Java"; String second = "Python"; String third = "JavaScript"; // print strings System.out.println(first); // print Java System.out.println(second); // print Python System.out.println(third); // print JavaScript ) )
A fenti példában három karakterláncot hoztunk létre, amelyek első, második és harmadik nevet kaptak. Itt közvetlenül olyan húrokat hozunk létre, mint a primitív típusok.
Van azonban egy másik módszer is a Java karakterláncok létrehozására (a new
kulcsszó használatával). A későbbiekben erről az oktatóanyagról megtudhatjuk.
Java karakterlánc műveletek
A Java String különféle módszereket kínál a különböző műveletek végrehajtására a húrokon. Megvizsgáljuk a gyakran használt string műveleteket.
1. Kap egy húr hossza
A karakterlánc hosszának length()
meghatározásához a String metódust használjuk . Például,
class Main ( public static void main(String() args) ( // create a string String greet = "Hello! World"; System.out.println("String: " + greet); // get the length of greet int length = greet.length(); System.out.println("Length: " + length); ) )
Kimenet
Karakterlánc: Helló! A világ hossza: 12
A fenti példában a length()
módszer kiszámítja a karaktersorozat teljes számát, és visszaadja azt. További információkért látogasson el a Java karakterlánc hossza () oldalra.
2. Csatlakozzon két húrhoz
Két concat()
metódust kapcsolhatunk a Java-ban a módszer segítségével. Például,
class Main ( public static void main(String() args) ( // create first string String first = "Java "; System.out.println("First String: " + first); // create second String second = "Programming"; System.out.println("Second String: " + second); // join two strings String joinedString = first.concat(second); System.out.println("Joined String: " + joinedString); ) )
Kimenet
Első karakterlánc: Java Második karakterlánc: Programozás Csatlakozott karakterlánc: Java programozás
A fenti példában létrehoztunk két első és második nevű karakterláncot. Figyelje meg az állítást,
String joinedString = first.concat(second);
Itt a concat()
metódus csatlakozik az elsőhöz és a másodikhoz, és hozzárendeljük a joinString változóhoz.
Két sztringet is összekapcsolhatunk +
a Java operátor segítségével . További információkért látogasson el a Java String concat () oldalra.
3. Hasonlítson össze két karakterláncot
A Java-ban a equals()
módszer segítségével összehasonlíthatunk két karakterláncot . Például,
class Main ( public static void main(String() args) ( // create 3 strings String first = "java programming"; String second = "java programming"; String third = "python programming"; // compare first and second strings boolean result1 = first.equals(second); System.out.println("Strings first and second are equal: " + result1); // compare first and third strings boolean result2 = first.equals(third); System.out.println("Strings first and third are equal: " + result2); ) )
Kimenet
Az első és a második karakterlánc egyenlő: igaz Az első és a harmadik karakterlánc egyenlő: hamis
A fenti példában létrehoztunk 3 első, második és harmadik nevű karakterláncot. Itt a equal()
módszerrel ellenőrizzük, hogy az egyik karakterlánc megegyezik-e a másikkal.
A equals()
módszer ellenőrzi a húrok tartalmát, miközben összehasonlítja őket. További információkért látogasson el a Java karakterlánc egyenlő () oldalra.
Megjegyzés : Két karakterláncot is összehasonlíthatunk ==
a Java operátor segítségével . Ez a megközelítés azonban eltér a equals()
módszertől. További információért keresse fel a Java karakterláncot == vs egyenlő ().
A Java karakterlánc módszerei
A fentieken kívül a Java-ban különféle karakterlánc-módszerek vannak. Íme néhány ilyen módszer:
Mód | Leírás |
---|---|
szubsztring () | visszaadja a karakterlánc sztringjét |
cserélje () | a megadott régi karaktert a megadott új karakterrel helyettesíti |
charAt () | a megadott helyen lévő karaktert adja vissza |
getBytes () | a stringet bájtömbbé alakítja |
indexe() | a megadott karakter pozícióját adja vissza a karakterláncban |
összehasonlítani() | két sztringet hasonlít össze a szótár sorrendjében |
trim () | eltávolítja az összes vezető és záró szóközt |
formátum() | formázott karakterláncot ad vissza |
hasított() | sztringekre töri a húrokat |
toLowerCase () | a karakterláncot kisbetűvé alakítja |
toUpperCase () | a karakterláncot nagybetűvé alakítja |
értéke() | a megadott argumentum karakterlánc-reprezentációját adja vissza |
toCharArray () | átalakítja a karakterláncot char tömbgé |
Escape karakter a Java karakterláncokban
A menekülési karakter arra szolgál, hogy elkerülje a karakterlánc néhány karakterét.
Tegyük fel, hogy dupla idézőjeleket kell tartalmaznunk egy húr belsejében.
// include double quote String example = "This is the "String" class";
Mivel a karakterláncokat dupla idézőjelek ábrázolják , a fordító az "Ez az" karaktert fogja kezelni. Ezért a fenti kód hibát okoz.
A probléma megoldásához a escape karaktert használjuk a Java-ban. Például,
// use the escape character String example = "This is the "String " class.";
A menekülési karakterek azt mondják a fordítónak, hogy kerülje el a dupla idézőjeleket, és olvassa el az egész szöveget.
A Java karakterláncok megváltoztathatatlanok
A Java-ban a karakterláncok megváltoztathatatlanok . Ez azt jelenti, hogy miután létrehoztunk egy karakterláncot, nem tudjuk megváltoztatni ezt a karakterláncot.
Mélyebb megértéséhez vegyen egy példát:
// create a string String example = "Hello! ";
Itt hoztunk létre egy példa nevű string változót. A változó a "Hello!" Karakterláncot tartalmazza.
Tegyük fel, hogy meg akarjuk változtatni a karakterláncot.
// add another string "World" // to the previous tring example example = example.concat(" World");
Itt azt a concat()
módszert használjuk, hogy az előző karakterlánchoz hozzáadjunk egy másik karakterláncot.
It looks like we are able to change the value of the previous string. However, this is not true
.
Let's see what has happened here,
- JVM takes the first string "Hello! "
- creates a new string by adding "World" to the first string
- assign the new string "Hello! World" to the example variable
- the first string "Hello! " remains unchanged
Creating strings using the new keyword
So far we have created strings like primitive types in Java.
Since strings in Java are objects, we can create strings using the new
keyword as well. For example,
// create a string using the new keyword String name = new String("Java String");
In the above example, we have created a string name using the new
keyword.
Here, when we create a string object, the String()
constructor is invoked. To learn more about constructor, visit Java Constructor.
Note: The String
class provides various other constructors to create strings. To learn more, visit Java String (official Java documentation).
Example: Create Java Strings using the new keyword
class Main ( public static void main(String() args) ( // create a string using new String name = new String("Java String"); System.out.println(name); // print Java String ) )
Create String using literals vs new keyword
Now that we know how strings are created using string literals and the new
keyword, let's see what is the major difference between them.
In Java, the JVM maintains a string pool to store all of its strings inside the memory. The string pool helps in reusing the strings.
While creating strings using string literals, the value of the string is directly provided. Hence, the compiler first checks the string pool to see if the string already exists.
- Ha a karakterlánc már létezik , akkor az új karakterlánc nem jön létre. Ehelyett az új hivatkozás a meglévő karakterláncra mutat.
- Ha a karakterlánc nem létezik , akkor létrejön az új karakterlánc.
Azonban míg létre húrok segítségével az új kulcsszó , értéke a karakterlánc nem biztosított közvetlenül. Ezért az új karakterlánc folyamatosan létrejön.