Stringhe in Java Definire una stringa String titolo = "Lezione sulle stringhe"; . Definire una stringa in Java Il modo più semplice e diretto per creare un oggetto di tipo String è assegnare alla variabile un insieme di caratteri racchiusi fra virgolette: Inizializzazione delle stringhe public void initString() { // Inizializzazione con una new String titolo = new String("Titolo dell'opera"); // Inizializzazione che fa uso di un array di caratteri char[] arraySottotitolo = {'s','o','t','t','o','t','i','t','o','l','o','!'}; String sottotitolo = new String(arraySottotitolo); } Oltre alla modalità “literal”, poiché si tratta comunque di oggetti, le variabili di tipo String possono essere inizializzate anche utilizzando la keyword new e un costruttore come si vede nell’esempio. public void printLength() { String descrizione = "Articolo sulle stringhe ..."; int length = descrizione.length(); Ottenere la lunghezza della stringa Metodo length() METODO System.out.println("Lunghezza: "+length); } è un Concatenare stringhe con l’operatore + String str1 = "Nome"; String str2 = "Cognome"; String str3 = str1+str2; String titolo = "I promessi Sposi"; String a = titolo.substring(2); // a vale "promessi Sposi" String b = titolo.substring(12); // b vale "Sposi" String c = titolo.substring(2,9); // c vale "promessi" Estrarre sottostringhe Per prelevare e manipolare solo una porzione di una stringa possiamo utilizzare il metodosubstring, presente in 2 forme (overloaded): String substring(int beginIndex); String substring(int beginIndex, int endIndex); Alcuni Metodi Attenzione al metodo equals Class StringTokenizer A cosa serve ? ▪ StringTokenizer serve per estrarre via via"pezzi" (parole) dalla stringa data ▪ Si può configurare specificando quali caratteripossono fungere da separatori. Come funziona La classe StringTokenizer mette a disposizione 3 costruttori, le forme generali sono elencate di sseguito: StringTokenizer(String str); StringTokenizer(String str, String delimiters); StringTokenizer(String str, String delimiters, boolean delimAsTokens); In tutte e 3 le forme str è la stringa da analizzare, nel secondo costruttore sovraccaricato delimiters corrisponde ad un elenco di delimitatori (la fine del token); se non viene specificato alcun token verrà utilizzato quello di default. La terza forma permette di restituire i token se delimAsToken è true, altrimenti non verranno restituiti. Se non vengono specificati, i delimitatori di default utilizzati sono: spazio, tabulazione, ritorno a capo e nuova riga. Esempio base import java.util.StringTokenizer; class DemoStringTokenizer { public static void main(String args[]) { // Stringa da spezzettare String str = "SoloPc, tutto sui pc"; // Creiamo un istanza di StringTokenizer // utilizzando il set di delimitatori di default StringTokenizer st = new StringTokenizer(str); /* * Per controllare la presenza di token utilizziamo il metodo * hasMoreTokens() che restituisce true in caso essi siano presenti * false altrimenti. */ System.out.println("nEsempio di elaborazione di una stringa utilizzando i token predefiniti:n"); while(st.hasMoreTokens()) { String token1 = st.nextToken(); System.out.println(token1+"tLength of token is: "+token1.length()); } } }