Java - Classe di stringhe
Le stringhe, ampiamente utilizzate nella programmazione Java, sono una sequenza di caratteri. Nel linguaggio di programmazione Java, le stringhe vengono trattate come oggetti.
La piattaforma Java fornisce la classe String per creare e manipolare le stringhe.
Creazione di stringhe
Il modo più diretto per creare una stringa è scrivere -
String greeting = "Hello world!";
Ogni volta che incontra una stringa letterale nel codice, il compilatore crea un oggetto String con il suo valore in questo caso, "Hello world!".
Come con qualsiasi altro oggetto, puoi creare oggetti String usando la nuova parola chiave e un costruttore. La classe String ha 11 costruttori che consentono di fornire il valore iniziale della stringa utilizzando origini diverse, come un array di caratteri.
Esempio
public class StringDemo {
public static void main(String args[]) {
char[] helloArray = { 'h', 'e', 'l', 'l', 'o', '.' };
String helloString = new String(helloArray);
System.out.println( helloString );
}
}
Questo produrrà il seguente risultato:
Produzione
hello.
Note- La classe String è immutabile, quindi una volta creata non è possibile modificare un oggetto String. Se è necessario apportare molte modifiche alle stringhe di caratteri, è necessario utilizzare String Buffer e String Builder Classes.
Lunghezza della stringa
I metodi utilizzati per ottenere informazioni su un oggetto sono noti come accessor methods. Un metodo di accesso che è possibile utilizzare con le stringhe è il metodo length (), che restituisce il numero di caratteri contenuti nell'oggetto stringa.
Il seguente programma è un esempio di length(), metodo String class.
Esempio
public class StringDemo {
public static void main(String args[]) {
String palindrome = "Dot saw I was Tod";
int len = palindrome.length();
System.out.println( "String Length is : " + len );
}
}
Questo produrrà il seguente risultato:
Produzione
String Length is : 17
Concatenazione di stringhe
La classe String include un metodo per concatenare due stringhe:
string1.concat(string2);
Ciò restituisce una nuova stringa che è stringa1 con stringa2 aggiunta alla fine. Puoi anche usare il metodo concat () con stringhe letterali, come in -
"My name is ".concat("Zara");
Le stringhe sono più comunemente concatenate con l'operatore +, come in -
"Hello," + " world" + "!"
che si traduce in -
"Hello, world!"
Guardiamo il seguente esempio:
Esempio
public class StringDemo {
public static void main(String args[]) {
String string1 = "saw I was ";
System.out.println("Dot " + string1 + "Tod");
}
}
Questo produrrà il seguente risultato:
Produzione
Dot saw I was Tod
Creazione di stringhe di formato
Hai i metodi printf () e format () per stampare l'output con numeri formattati. La classe String ha un metodo di classe equivalente, format (), che restituisce un oggetto String anziché un oggetto PrintStream.
L'uso del metodo statico format () di String ti consente di creare una stringa formattata che puoi riutilizzare, al contrario di un'istruzione print una tantum. Ad esempio, invece di -
Esempio
System.out.printf("The value of the float variable is " +
"%f, while the value of the integer " +
"variable is %d, and the string " +
"is %s", floatVar, intVar, stringVar);
Puoi scrivere -
String fs;
fs = String.format("The value of the float variable is " +
"%f, while the value of the integer " +
"variable is %d, and the string " +
"is %s", floatVar, intVar, stringVar);
System.out.println(fs);
Metodi di stringa
Ecco l'elenco dei metodi supportati dalla classe String:
Sr.No. | Metodo e descrizione |
---|---|
1 | char charAt (int index) Restituisce il carattere all'indice specificato. |
2 | int compareTo (Oggetto o) Confronta questa stringa con un altro oggetto. |
3 | int compareTo (String anotherString) Confronta due stringhe lessicograficamente. |
4 | int compareToIgnoreCase (String str) Confronta due stringhe lessicograficamente, ignorando le differenze tra maiuscole e minuscole. |
5 | String concat (String str) Concatena la stringa specificata alla fine di questa stringa. |
6 | booleano contentEquals (StringBuffer sb) Restituisce true se e solo se questa stringa rappresenta la stessa sequenza di caratteri dello StringBuffer specificato. |
7 | stringa statica copyValueOf (char [] data) Restituisce una stringa che rappresenta la sequenza di caratteri nella matrice specificata. |
8 | stringa statica copyValueOf (char [] data, int offset, int count) Restituisce una stringa che rappresenta la sequenza di caratteri nella matrice specificata. |
9 | booleano finisce con (suffisso stringa) Verifica se questa stringa termina con il suffisso specificato. |
10 | booleano è uguale a (Object anObject) Confronta questa stringa con l'oggetto specificato. |
11 | booleano è uguale aIgnoreCase (String anotherString) Confronta questa stringa con un'altra stringa, ignorando le considerazioni sul caso. |
12 | byte [] getBytes () Codifica questa stringa in una sequenza di byte utilizzando il set di caratteri predefinito della piattaforma, memorizzando il risultato in un nuovo array di byte. |
13 | byte [] getBytes (String charsetName) Codifica questa stringa in una sequenza di byte utilizzando il set di caratteri denominato, archiviando il risultato in una nuova matrice di byte. |
14 | void getChars (int srcBegin, int srcEnd, char [] dst, int dstBegin) Copia i caratteri da questa stringa nell'array di caratteri di destinazione. |
15 | int hashCode () Restituisce un codice hash per questa stringa. |
16 | int indexOf (int ch) Restituisce l'indice all'interno di questa stringa della prima occorrenza del carattere specificato. |
17 | int indexOf (int ch, int fromIndex) Restituisce l'indice all'interno di questa stringa della prima occorrenza del carattere specificato, iniziando la ricerca dall'indice specificato. |
18 | int indexOf (String str) Restituisce l'indice all'interno di questa stringa della prima occorrenza della sottostringa specificata. |
19 | int indexOf (String str, int fromIndex) Restituisce l'indice all'interno di questa stringa della prima occorrenza della sottostringa specificata, a partire dall'indice specificato. |
20 | String intern () Restituisce una rappresentazione canonica per l'oggetto stringa. |
21 | int lastIndexOf (int ch) Restituisce l'indice all'interno di questa stringa dell'ultima occorrenza del carattere specificato. |
22 | int lastIndexOf (int ch, int fromIndex) Restituisce l'indice all'interno di questa stringa dell'ultima occorrenza del carattere specificato, cercando all'indietro a partire dall'indice specificato. |
23 | int lastIndexOf (String str) Restituisce l'indice all'interno di questa stringa dell'occorrenza più a destra della sottostringa specificata. |
24 | int lastIndexOf (String str, int fromIndex) Restituisce l'indice all'interno di questa stringa dell'ultima occorrenza della sottostringa specificata, cercando all'indietro a partire dall'indice specificato. |
25 | int length () Restituisce la lunghezza di questa stringa. |
26 | corrispondenze booleane (stringa regex) Indica se questa stringa corrisponde o meno all'espressione regolare data. |
27 | boolean regionMatches (boolean ignoreCase, int toffset, String other, int ooffset, int len) Verifica se due regioni di stringa sono uguali. |
28 | boolean regionMatches (int toffset, String other, int ooffset, int len) Verifica se due regioni di stringa sono uguali. |
29 | Sostituisci stringa (char oldChar, char newChar) Restituisce una nuova stringa risultante dalla sostituzione di tutte le occorrenze di oldChar in questa stringa con newChar. |
30 | String replaceAll (String regex, String replacement Sostituisce ogni sottostringa di questa stringa che corrisponde all'espressione regolare data con la sostituzione data. |
31 | String replaceFirst (String regex, String replacement) Sostituisce la prima sottostringa di questa stringa che corrisponde all'espressione regolare data con la sostituzione data. |
32 | String [] split (String regex) Divide questa stringa attorno alle corrispondenze dell'espressione regolare data. |
33 | String [] split (String regex, int limit) Divide questa stringa attorno alle corrispondenze dell'espressione regolare data. |
34 | booleano inizia con (prefisso stringa) Verifica se questa stringa inizia con il prefisso specificato. |
35 | boolean startsWith (String prefix, int toffset) Verifica se questa stringa inizia con il prefisso specificato all'inizio di un indice specificato. |
36 | CharSequence subSequence (int beginIndex, int endIndex) Restituisce una nuova sequenza di caratteri che è una sottosequenza di questa sequenza. |
37 | Sottostringa stringa (int beginIndex) Restituisce una nuova stringa che è una sottostringa di questa stringa. |
38 | Sottostringa stringa (int beginIndex, int endIndex) Restituisce una nuova stringa che è una sottostringa di questa stringa. |
39 | char [] toCharArray () Converte questa stringa in un nuovo array di caratteri. |
40 | String toLowerCase () Converte tutti i caratteri in questa stringa in minuscolo utilizzando le regole della locale predefinita. |
41 | String toLowerCase (impostazioni internazionali locali) Converte tutti i caratteri in questa stringa in minuscolo utilizzando le regole delle impostazioni internazionali specificate. |
42 | String toString () Questo oggetto (che è già una stringa!) Viene restituito. |
43 | String toUpperCase () Converte tutti i caratteri in questa stringa in lettere maiuscole utilizzando le regole della locale predefinita. |
44 | String toUpperCase (Locale locale) Converte tutti i caratteri in questa stringa in lettere maiuscole utilizzando le regole delle impostazioni internazionali specificate. |
45 | Taglio delle corde () Restituisce una copia della stringa, omettendo gli spazi iniziali e finali. |
46 | static String valueOf (tipo di dati primitivo x) Restituisce la rappresentazione di stringa dell'argomento del tipo di dati passato. |