English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo tutorial, impareremo a utilizzare Java String con esempi, come crearla e i suoi vari metodi.
In Java, una stringa è una serie di caratteri. Ad esempio, "hello" è una stringa che contiene la sequenza di caratteri "h", "e", "l", "l" e "o".
Diversamente da altri linguaggi di programmazione, le stringhe in Java non sono un tipo di base (ad esempio int, char ecc.). Al contrario, tutte le stringhe sono oggetti della classe predefinita chiamata String. Ad esempio,
//crea una stringa String type = "java programming";
Qui, abbiamo creato una stringa denominata type. Qui, abbiamo inizializzato la stringa con "java programming". In Java, usiamoVirgolette doppiRappresenta una stringa.
Questa stringa è un'istanza della classe String.
Attenzione:Tutte le variabili di stringa sono istanze della classe String.
Java String fornisce vari metodi che ci permettono di eseguire diverse operazioni di stringa. Di seguito sono riportati alcuni metodi di stringa comuni.
Metodo | Descrizione |
---|---|
concat() | Unisci due stringhe insieme |
equals() | Confronta i valori di due stringhe |
charAt() | Restituisce il carattere esistente nella posizione specificata |
getBytes() | Converti la stringa in un array di byte |
indexOf() | Restituisce la posizione del carattere specificato nella stringa |
length() | Restituisce la dimensione della stringa specificata |
replace() | Sostituisci il carattere vecchio specificato con il carattere nuovo specificato |
substring() | Restituisce un sottostringa della stringa |
split() | Dividi la stringa in un array di stringhe |
toLowerCase() | Converti la stringa in minuscolo |
toUpperCase() | Converti la stringa in maiuscolo |
valueOf() | Restituisce la rappresentazione in stringa dei dati specificati |
Facciamo alcuni esempi.
class Main { public static void main(String[] args) { //Creare una stringa String greet = "Hello! World"; System.out.println("La stringa è: " + greet); //controlla la lunghezza della stringa System.out.println("La lunghezza della stringa: " + greet.length()); } }
Risultato di output
La stringa è: Hello! World La lunghezza della stringa: 12
Nell'esempio precedente, abbiamo creato una stringa denominata greet. Qui, abbiamo utilizzato il metodo length() per ottenere la dimensione della stringa.
class Main { public static void main(String[] args) { //Creare una stringa String greet = "Hello! "; System.out.println("Prima stringa: " + greet); String name = "World"; System.out.println("Seconda stringa: " + name); //连接两个字符串 String joinedString = greet.concat(name); System.out.println("Stringa connessa: " + joinedString); } }
Risultato di output
Prima stringa: Hello! Seconda stringa: World Stringa connessa: Hello! World
Nell'esempio precedente, abbiamo creato 2 stringhe denominate greet e name.
In questo esempio, abbiamo utilizzato il metodo concat() per connettere le stringhe. Pertanto, otteniamo una nuova stringa chiamata joinedString.
In Java, possiamo anche utilizzare l'operatore + per connettere due stringhe.
class Main { public static void main(String[] args) { //Creare una stringa String greet = "Hello! "; System.out.println("Prima stringa: " + greet); String name = "World"; System.out.println("Seconda stringa: " + name); //连接两个字符串 String joinedString = greet + name; System.out.println("Stringa connessa: " + joinedString); } }
Risultato di output
Prima stringa: Hello! Seconda stringa: World Stringa connessa: Hello! World
qui abbiamo utilizzato l'operatore + per connettere due stringhe.
class Main { public static void main(String[] args) { //创建字符串s String first = "java programming"; String second = "java programming"; String third = "python programming"; //比较第一个字符串和第二个字符串 boolean result1 = first.equals(second); System.out.println("第一和第二个字符串相等: " + result1); //比较第一个和第三个字符串 boolean result2 = first.equals(third); System.out.println("第一和第三个字符串相等: " + result2); } }
Risultato di output
第一和第二个字符串相等: true 第一和第三个字符串相等: false
在上面的示例中,我们使用了equals()方法来比较两个字符串的值。
如果两个字符串相同,则该方法返回true,否则返回false。
Attenzione:我们还可以使用 == 运算符 和 compareTo()方法比较2个字符串。
class Main { public static void main(String[] args) { //创建字符串 using the string literal String greet = "Hello! World"; System.out.println("La stringa è: " + greet); //Restituisci il carattere alla posizione 3 System.out.println("Il carattere alla posizione 3: " + greet.charAt(3)); //Restituisci il carattere alla posizione 7 System.out.println("Il carattere alla posizione 7: " + greet.charAt(7)); } }
Risultato di output
La stringa è: Hello! World Il carattere alla posizione 3: l Il carattere alla posizione 7: W
Nell'esempio sopra, abbiamo utilizzato il metodo charAt() per accedere ai caratteri da una posizione specifica.
class Main { public static void main(String[] args) { //Crea una stringa utilizzando la parola chiave new String example = new String("Hello! World"); //Restituisci la sottostringa World System.out.println("Usando subString(): " + example.substring(7)); //Converti la stringa in minuscolo System.out.println("Usando toLowerCase(): " + example.toLowerCase()); //Converti la stringa in maiuscolo System.out.println("Usando toUpperCase(): " + example.toUpperCase()); //Sostituisci il carattere '!' con 'o' System.out.println("Usando replace(): " + example.replace('!', 'o')); } }
Risultato di output
Usando subString(): World Usando toLowerCase(): hello! world Usando toUpperCase(): HELLO! WORLD Usando replace(): Helloo World
Nell'esempio sopra, abbiamo creato una stringa denominata example utilizzando la parola chiave new.
Qui,
Il metodo substring() restituisce la stringa World
Il metodo toLowerCase() trasforma una stringa in minuscolo
Il metodo toUpperCase() trasforma una stringa in maiuscolo
Il metodo replace() sostituisce il carattere '!' con 'o'.
Le stringhe in Java utilizzanoVirgolette doppirappresentare.
//Creare una stringa String example = "This is a string";
Ora, se vogliamo includereVirgolette doppi。 Ad esempio,
//La stringa contiene virgolette doppie String example = "This is the "String" class";
Questo causerà un errore. Questo è perché si utilizzaVirgolette doppiper rappresentare la stringa. Pertanto, il compilatore lo considera come una stringa "This is the ".
Per risolvere questo problema, in Java si utilizzano i caratteri di escape(\)。Ora possiamo includereVirgolette doppi, come segue:
//Usare i caratteri di escape String example = "This is the \"String\" class.";
I caratteri di escape informano il compilatore di escapeVirgolette doppiE leggere tutto il testo.
Creare una stringa in Java significa creare un oggetto della classe string.Non possiamo modificare la stringa durante la creazione di una stringa in Java.Ecco perché in Java si chiamaImmutabileRagione.
Per comprendere meglio, guardiamo un esempio:
//Creare una stringa String example = "Hello!";
Qui, abbiamo creato un oggetto stringa "Hello!". Dopo la creazione, non possiamo modificarlo.
Ora supponiamo di voler modificare la stringa.
//Aggiungere un'altra stringa a questa stringa example = example.concat(" World");
Qui, proviamo a aggiungere una nuova stringa alla stringa precedente.
Poiché le stringhe sonoImmutabile, dovrebbe causare un errore. Ma va bene così.
Sembra che possiamo modificare la stringa. Tuttavia, non è così. Vediamo cosa è successo effettivamente qui.
Abbiamo una stringa "Hello!" riferita dalla variabile chiamata example. Ora, eseguendo il codice sopra,
La JVM accetta la stringa "Hello!"
Aggiungere la stringa "World" a essa
Questo creerà una nuova stringa "Hello! World"
La variabile example punta ora a una nuova stringa
La stringa precedente "Hello!" rimane invariata
Attenzione:ogni volta che creiamo una nuova stringa e la riferiamo con una variabile.
Finora abbiamo creato in Java stringhe simili ai tipi di dati di base. Tuttavia, poiché le stringhe in Java sono oggetti, possiamo anche crearle utilizzando la chiave di nuova creazione. Ad esempio,
//Creazione di una stringa utilizzando la chiave di parola new String name = new String("java string");
Nell'esempio sopra, abbiamo utilizzato la chiave di parola new e il costruttore String() per creare una stringa.
La classe String fornisce vari altri costruttori per creare stringhe.
Ora, vediamo come il processo di creazione della stringa differisce dal processo precedente.
Ora che sappiamo come creare stringhe utilizzando espressioni letterali di stringa e la chiave di parola new, vediamo quali sono le principali differenze tra loro.
In Java, il JVM mantiene una cassetta degli strumenti delle stringhe per memorizzare tutte le stringhe in memoria. La cassetta degli strumenti delle stringhe aiuta a riutilizzare le stringhe.
Quando si crea una stringa utilizzando un testo di stringa, viene fornito direttamente il valore della stringa. Pertanto, il compilatore verifica prima la cassetta degli strumenti di stringhe per vedere se la stringa esiste già.
Se la stringa esiste giànon viene creata una nuova stringa. Invece, il nuovo riferimento punta a una stringa esistente.
Se la stringa non esistequindi viene creata una nuova stringa.
Ma, quando si crea una stringa utilizzando la chiave di parola new, non viene fornito direttamente il valore della stringa. Pertanto, viene sempre creata una nuova stringa.