En Java , la cadena és bàsicament un objecte que representa una seqüència de valors de caràcters. An matriu de caràcters funciona igual que la cadena Java. Per exemple:
char[] ch={'j','a','v','a','t','p','o','i','n','t'}; String s=new String(ch);
és el mateix que:
String s='javatpoint';
Cadena de Java class proporciona molts mètodes per realitzar operacions sobre cadenes com compare(), concat(), equals(), split(), length(), replace(), compareTo(), intern(), substring(), etc.
La classe java.lang.String implementa Serialitzable , Comparable i CharSequence interfícies .
Interfície CharSequence
La interfície CharSequence s'utilitza per representar la seqüència de caràcters. corda, StringBuffer i StringBuilder les classes ho implementen. Vol dir que podem crear cadenes en Java utilitzant aquestes tres classes.
La cadena Java és immutable, el que significa que no es pot canviar. Sempre que canviem qualsevol cadena, es crea una nova instància. Per a cadenes mutables, podeu utilitzar les classes StringBuffer i StringBuilder.
Més endavant parlarem de la cadena immutable. Primer entenem què és String a Java i com crear l'objecte String.
Què és String a Java?
Generalment, String és una seqüència de caràcters. Però a Java, la cadena és un objecte que representa una seqüència de caràcters. La classe java.lang.String s'utilitza per crear un objecte de cadena.
Com crear un objecte de cadena?
Hi ha dues maneres de crear un objecte String:
- Per cadena literal
- Per paraula clau nova
1) Corda literal
El literal de cadena Java es crea utilitzant cometes dobles. Per exemple:
String s='welcome';
Cada vegada que creeu un literal de cadena, la JVM comprova primer el 'grup constant de cadena'. Si la cadena ja existeix a l'agrupació, es retorna una referència a la instància agrupada. Si la cadena no existeix a l'agrupació, es crea una nova instància de cadena i es col·loca a l'agrupació. Per exemple:
String s1='Welcome'; String s2='Welcome';//It doesn't create a new instance
A l'exemple anterior, només es crearà un objecte. En primer lloc, JVM no trobarà cap objecte de cadena amb el valor 'Benvingut' al grup constant de cadena, per això crearà un objecte nou. Després d'això, trobarà la cadena amb el valor 'Benvingut' al grup, no crearà un objecte nou sinó que retornarà la referència a la mateixa instància.
Nota: els objectes de cadena s'emmagatzemen en una àrea de memòria especial coneguda com a 'agrupació constant de cadena'.
Per què Java utilitza el concepte de String literal?
Per fer que Java sigui més eficient de la memòria (perquè no es creen objectes nous si ja existeix a l'agrupació constant de cadenes).
2) Per paraula clau nova
String s=new String('Welcome');//creates two objects and one reference variable
En aquest cas, JVM crearà un objecte de cadena nou a la memòria d'emmagatzematge dinàmic normal (que no sigui agrupació), i el literal 'Benvinguda' es col·locarà a l'agrupació constant de cadena. La variable s es referirà a l'objecte en un munt (no grup).
ordre aleatori sql
Exemple de cadena de Java
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); }}Prova-ho ara
Sortida:
java strings example
El codi anterior, converteix a char matriu en a Corda objecte. I mostra els objectes String s1, s2 , i s3 a la consola utilitzant println() mètode.
Mètodes de classe Java String
La classe java.lang.String proporciona molts mètodes útils per realitzar operacions en seqüències de valors de caràcters.
No. | Mètode | Descripció |
---|---|---|
1 | char charAt (índex int) | Retorna el valor de caràcters per a l'índex concret |
2 | longitud int () | Retorna la longitud de la cadena |
3 | Format de cadena estàtic (format de cadena, Objecte... args) | Retorna una cadena formatada. |
4 | Format de cadena estàtic (L local, format de cadena, Objecte... args) | Retorna una cadena formatada amb una configuració regional determinada. |
5 | Subcadena de cadena (int beginIndex) | Retorna una subcadena per a l'índex d'inici donat. |
6 | Subcadena de cadena (int beginIndex, int endIndex) | Retorna una subcadena per a l'índex d'inici i l'índex final determinats. |
7 | booleà conté (CharSequence s) | Retorna vertader o fals després de fer coincidir la seqüència de valors de caràcters. |
8 | Unió de cadena estàtica (delimitador de CharSequence, elements de CharSequence...) | Retorna una cadena unida. |
9 | Unió de cadena estàtica (delimitador de CharSequence, elements iterables) | Retorna una cadena unida. |
10 | booleà iguals (objecte altre) | Comprova la igualtat de la cadena amb l'objecte donat. |
11 | booleà és buit () | Comprova si la cadena està buida. |
12 | String concat(String str) | Concatena la cadena especificada. |
13 | Substitució de cadena (car antic, caràcter nou) | Substitueix totes les ocurrències del valor de caràcters especificat. |
14 | String replace (CharSequence antiga, CharSequence nova) | Substitueix totes les ocurrències de la CharSequence especificada. |
15 | static String equalsIgnoreCase(String another) | Compara una altra cadena. No verifica cas. |
16 | String[] split(String regex) | Retorna una cadena dividida que coincideix amb l'expressió regular. |
17 | String[] split(String regex, límit int) | Retorna una cadena dividida que coincideix amb l'expressió regular i el límit. |
18 | String intern() | Retorna una cadena internada. |
19 | int indexOf(int ch) | Retorna l'índex de valor de caràcters especificat. |
20 | int indexOf(int ch, int des de l'índex) | Retorna l'índex de valor de caràcters especificat començant per l'índex donat. |
21 | int indexOf (subcadena de cadena) | Retorna l'índex de subcadena especificat. |
22 | int indexOf (subcadena de cadena, int des de l'índex) | Retorna l'índex de subcadena especificat començant per l'índex donat. |
23 | String toLowerCase () | Retorna una cadena en minúscules. |
24 | String toLowerCase (Local l) | Retorna una cadena en minúscules utilitzant la configuració regional especificada. |
25 | Cadena a majúscules () | Retorna una cadena en majúscules. |
26 | Cadena a majúscules (local l) | Retorna una cadena en majúscules utilitzant la configuració regional especificada. |
27 | Corda de corda() | Elimina els espais inicials i finals d'aquesta cadena. |
28 | static String valueOf (valor int) | Converteix el tipus donat en cadena. És un mètode sobrecarregat. |
Saps?
- Per què els objectes String són immutables?
- Com crear una classe immutable?
- Què és el grup constant de cadenes?
- Quin codi s'escriu el compilador si concatena qualsevol cadena amb + (operador de concatenació de cadenes)?
- Quina diferència hi ha entre la classe StringBuffer i StringBuilder?
Què aprendrem a String Handling?
- Concepte de corda
- Cadena immutable
- Comparació de cadenes
- Concatenació de cadenes
- Concepte de subcadena
- Mètodes de classe de cadena i el seu ús
- Classe StringBuffer
- Classe StringBuilder
- Creació d'una classe immutable
- mètode toString().
- Classe StringTokenizer