LA CLASSE STRING
La classe String dopo i tipi primitivi è una delle classi più usate in assoluto. Si trova nel package java.lang, uno dei package predefiniti che non necessita di importazioni. Ammette la creazione di istanze anche con il formato literal, costituito su una coppia di doppi apici. Dato che String è un oggetto una stringa può essere creata anche con l’operatore new. La figura evidenzia tutti i modi per poter creare una istanza di tale classe.
La seconda particolarità delle stringhe è che sono oggetti immutabili. Per capire questo concetto ritorniamo ai reference type. Vediamo un esempio.
Anche se gli attributi sono uguali gli oggetti in figura sono comunque distinti. Quando usiamo le stringhe il Runtime di Java gestisce una particolare area di memoria che si chiama String Pool al cui interno sono contenute le varie stringhe.
Se due oggetti stringa hanno lo stesso contenuto, i due reference vengono fatti puntare alla stessa area di memoria. Quando creiamo una stringa Java controlla nello String Pool che il valore della stringa non sia già presente. Se presente per una questione di efficienza viene usato lo stesso reference. Se modifichiamo una stringa la verifica viene fatta nuovamente e se l’oggetto non esiste viene allocata memoria per contenere la nuova stringa.
Per questo motivo le stringhe sono immutabili, cioè non si possono alterare i loro valori, quando viene assegnato un nuovo set di caratteri viene creata una nuova istanza di String in una diversa area di memoria.
METODI DELLA CLASSE STRING
Passiamo in rassegna alcuni metodi della classe String (vedi figura).
Altri metodi della classe String (vedi figura).
USARE ARGOMENTI DELLA COMMAND LINE
Completeremo la conoscenza del metodo main ora che conosciamo gli Array e la classe String.
Quando il metodo main è presente in una classe, questa diventa eseguibile, cioè produce un bytecode che la JVM può direttamente eseguire da terminale. L’esecuzione del programma inizia esattamente dentro al metodo main. Deve essere public, questo perché deve essere visibile al di fuori della classe visto che la JVM lo deve elaborare. È un metodo di classe (static) questo perché la JVM non deve aver bisogno di istanziare la classe che lo contiene. Non torna nulla void, quando terminano le istruzioni nel main il programma termina. Il metodo main prende in ingresso come parametro un Array di stringhe e questo Array si chiama args. Esso contiene i valori passati dal terminale al metodo main.
LINK AI POST PRECEDENTI
LINK AL CODICE SU GITHUB
ESECUZIONE DEL CODICE DI ESEMPIO
- Scaricare il codice da GITHUB, lanciare il file JAR con il seguente comando in Visual Studio Code, posizionandosi nella directory contenente il JAR.
java -jar –enable-preview CorsoJava.jar
- Oppure mettere in esecuzione il main che si trova nel file CorsoJava.java.
Scrivi un commento