lunedì 26 aprile 2010

Java: le stringhe

In Java non esiste il tipo stringa, nella libreria standard è invece implementata un utile classe: la classe String. Ogni stringa racchiusa da virgolette è un'istanza della classe String. All'interno della classe String sono poi implementati numerosi metodi (altri ancora sono ereditati). In definitiva, in Java per manipolare una stringa bisogna allora chiamare su un oggetto della classe String uno dei metodi della classe. Ecco un elenco dei metodi che più uso (cercatene altri all'interno della documentazione API in linea):
  • char charAt(int i): ritorna il carattere della stringa nella posizione i;
  • int compareTo(String B): confronta una stringa, ad esempio A, con una stringa B e restituisce un valore positivo se A è maggiore di B, uguale a 0 se A è uguale a B, oppure negativo se A è minore di B;
  • int length(): ritorna la lunghezza della stringa;
  • String replace(char x, char y): sostituisce, all'interno della stringa, il carattere x con y e ritorna la nuova stringa;
  • String subString(int i): genera una nuova stringa (quella ritornata) a partire dall'indice i;
  • String subString(int i, int j): genera una nuova stringa (quella ritornata) a partire dall'indice i e terminante in j (escluso);
  • String toLowerCase(): ritorna una stringa avente tutti caratteri minuscoli;
  • String toUpperCase(): ritorna una stringa avente tutti caratteri maiuscoli;
  • String trim(): elimina dalla stringa tutti i caratteri di spazio ad inizio e fine stringa e ritorna, quindi, la nuova stringa;
Un esempio:

/* Testing di alcuni metodi della classe String */
import javax.swing.*;

public class StringTest {
   public static void main(String args[]) {
      String nomeCognome=JOptionPane.showInputDialog("Nome e cognome:");
      int spacePosition=0;
      while (nomeCognome.charAt(spacePosition)!=' ')
         spacePosition++;
      String nome=nomeCognome.substring(0,spacePosition);
      String cognome=nomeCognome.substring(++spacePosition);
      System.out.println("Nome e cognome:\t"+nome+" "+cognome);
      System.out.println("Nome:\t\t"+nome.toUpperCase());
      System.out.println("Cognome:\t"+cognome.toUpperCase());
      System.exit(0);
   }
}

Nessun commento:

Posta un commento