Ban ben Jáva , a string alapvetően egy objektum, amely char értékek sorozatát reprezentálja. An sor A karakterek száma ugyanúgy működik, mint a Java karakterlánc. Például:
char[] ch={'j','a','v','a','t','p','o','i','n','t'}; String s=new String(ch);
ugyanaz, mint:
String s='javatpoint';
Java karakterlánc osztály számos módszert kínál a karakterláncokon végzett műveletek végrehajtására, mint például az összehasonlítás(), a concat(), az equals(), a split(), a long(), a csere(), az összehasonlítás(), az intern(), a substring() stb.
A java.lang.String osztály valósítja meg Sorozatozható , Hasonló és CharSequence interfészek .
CharSequence interfész
A CharSequence interfész a karaktersorozat ábrázolására szolgál. Húr, StringBuffer és StringBuilder osztályok valósítják meg. Ez azt jelenti, hogy e három osztály használatával sztringeket hozhatunk létre Java nyelven.
A Java karakterlánc megváltoztathatatlan, ami azt jelenti, hogy nem módosítható. Amikor bármilyen karakterláncot módosítunk, egy új példány jön létre. A módosítható karakterláncokhoz használhatja a StringBuffer és a StringBuilder osztályokat.
A megváltoztathatatlan húrról később lesz szó. Először is értsük meg, mi a String a Java-ban, és hogyan kell létrehozni a String objektumot.
Mi a String a Java-ban?
Általában a String egy karaktersorozat. De a Java-ban a string egy olyan objektum, amely karaktersorozatot képvisel. A java.lang.String osztály egy karakterlánc objektum létrehozására szolgál.
Hogyan készítsünk string objektumot?
A String objektum létrehozásának két módja van:
- String literál szerint
- Új kulcsszó szerint
1) String Literal
A Java String literál kettős idézőjelek használatával jön létre. Például:
String s='welcome';
Minden alkalommal, amikor létrehoz egy karakterlánc-literált, a JVM először a „sztringkonstans készletet” ellenőrzi. Ha a karakterlánc már létezik a készletben, akkor a rendszer egy hivatkozást ad vissza az összevont példányra. Ha a karakterlánc nem létezik a készletben, akkor a rendszer egy új karakterlánc-példányt hoz létre, és elhelyezi a készletben. Például:
String s1='Welcome'; String s2='Welcome';//It doesn't create a new instance
A fenti példában csak egy objektum jön létre. Először is, a JVM nem talál 'Welcome' értékű karakterlánc-objektumot a string konstans készletben, ezért új objektumot hoz létre. Ezt követően megtalálja a „Welcome” értékű karakterláncot a készletben, nem hoz létre új objektumot, hanem ugyanarra a példányra adja vissza a hivatkozást.
Megjegyzés: A karakterlánc-objektumok egy speciális memóriaterületen, úgynevezett „sztringkonstans készletben” vannak tárolva.
Miért használja a Java a String literal fogalmát?
A Java memóriahatékonyabbá tétele (mivel nem jön létre új objektum, ha már létezik a karakterlánc-konstans készletben).
2) Új kulcsszó alapján
String s=new String('Welcome');//creates two objects and one reference variable
Ilyen esetben, JVM egy új karakterlánc objektumot hoz létre a normál (nem pool) kupacmemóriában, és a literális 'Üdvözöljük' a string konstans készletbe kerül. Az s változó a kupacban lévő objektumra fog hivatkozni (nem pool).
apache
Java karakterlánc példa
StringExample.java
public class StringExample{ public static void main(String args[]){ String s1='java';//creating string by Java string literal char ch[]={'s','t','r','i','n','g','s'}; String s2=new String(ch);//converting char array to string String s3=new String('example');//creating Java string by new keyword System.out.println(s1); System.out.println(s2); System.out.println(s3); }}Tesztelje most
Kimenet:
java strings example
A fenti kód átalakítja a char tömbbe a Húr tárgy. És megjeleníti a String objektumokat s1, s2 , és s3 konzolon használva println() módszer.
Java String osztály metódusai
A java.lang.String osztály számos hasznos módszert kínál a char értékek sorozatán végzett műveletek végrehajtására.
Nem. | Módszer | Leírás |
---|---|---|
1 | char charAt(int index) | char értéket ad vissza az adott indexhez |
2 | int hosszúság () | Visszaadja a karakterlánc hosszát |
3 | statikus karakterlánc formátum (karakterlánc formátum, objektum... args) | Formázott karakterláncot ad vissza. |
4 | statikus karakterlánc formátum (Lakális nyelv, Karakterlánc formátum, Objektum... args) | Formázott karakterláncot ad vissza adott nyelvi beállítással. |
5 | Karakterlánc részkarakterlánc (int beginIndex) | Az adott kezdőindex részkarakterláncát adja vissza. |
6 | Karakterlánc részkarakterlánc (int beginIndex, in endindex) | Az adott kezdőindex és záróindex részkarakterláncát adja vissza. |
7 | logikai érték tartalmazza (CharSequence s) | Igaz vagy hamis értéket ad vissza, miután megfelelt a char érték sorozatának. |
8 | statikus karakterlánc-csatlakozás (CharSequence határoló, CharSequence... elemek) | Összekapcsolt karakterláncot ad vissza. |
9 | statikus karakterlánc-illesztés (CharSequence határoló, Iterálható elemek) | Összekapcsolt karakterláncot ad vissza. |
10 | logikai egyenlő (objektum egy másik) | Ellenőrzi a karakterlánc és az adott objektum egyenlőségét. |
tizenegy | logikai érték üres() | Ellenőrzi, hogy üres-e a karakterlánc. |
12 | String concat (String str) | Összefűzi a megadott karakterláncot. |
13 | Karakterlánccsere (régi karakter, új karakter) | Lecseréli a megadott char érték minden előfordulását. |
14 | Karakterlánc csere (CharSequence régi, CharSequence új) | Lecseréli a megadott CharSequence összes előfordulását. |
tizenöt | statikus karakterlánc egyenlő:IgnoreCase(másik karakterlánc) | Egy másik karakterláncot hasonlít össze. Nem ellenőrzi az esetet. |
16 | Karakterlánc[] felosztása (karakterlánc regex) | Egy felosztott karakterláncot ad vissza, amely megfelel a reguláris kifejezésnek. |
17 | Karakterlánc[] felosztása (karakterlánc regex, int limit) | Egy felosztott karakterláncot ad vissza, amely megfelel a regexnek és a határértéknek. |
18 | String gyakornok() | Beépített karakterláncot ad vissza. |
19 | int indexOf(int ch) | A megadott karakterérték indexet adja vissza. |
húsz | int indexOf(int ch, int fromIndex) | A megadott karakterérték indexet adja vissza, az adott indextől kezdve. |
huszonegy | int indexOf(karakterlánc részkarakterlánc) | A megadott részstring indexet adja vissza. |
22 | int indexOf(String részkarakterlánc, int fromIndex) | A megadott részkarakterlánc-indexet adja vissza az adott indextől kezdve. |
23 | Kisbetűs karakterlánc() | Kisbetűs karakterláncot ad vissza. |
24 | Karakterlánc kisbetűre (l-es nyelv) | Kisbetűs karakterláncot ad vissza a megadott területi beállítás használatával. |
25 | Karakterlánc nagybetűre() | Nagybetűs karakterláncot ad vissza. |
26 | Karakterlánc nagybetűre (l-es nyelv) | Egy karakterláncot ad vissza nagybetűvel a megadott területi beállítás használatával. |
27 | String trim() | Eltávolítja a karakterlánc kezdő és záró szóközeit. |
28 | statikus karakterlánc valueOf(int érték) | A megadott típust karakterláncokká alakítja. Ez egy túlterhelt módszer. |
Tudod?
- Miért változtathatatlanok a String objektumok?
- Hogyan lehet megváltoztathatatlan osztályt létrehozni?
- Mi az a string konstans pool?
- Milyen kódot ír a fordító, ha bármilyen karakterláncot a + jellel fűz össze (string konkatenációs operátor)?
- Mi a különbség a StringBuffer és a StringBuilder osztály között?
Mit fogunk tanulni a húrkezelésből?
- A karakterlánc fogalma
- Megváltozhatatlan húr
- String összehasonlítás
- Karakterlánc összefűzése
- A részstring fogalma
- String osztály metódusai és használata
- StringBuffer osztály
- StringBuilder osztály
- Változatlan osztály létrehozása
- toString() metódus
- StringTokenizer osztály