Thursday, August 1, 2013

Stringa In Java

Gestione delle stringhe di caratteri in Java è supportato attraverso due classi finale: String e StringBuffer. La classe String implementa stringhe di caratteri immutabili, che sono di sola lettura, una volta che la stringa è stata creata e inizializzata, considerando che la classe StringBuffer implementa stringhe di carattere dinamico. Tutte le stringhe letterali in programmi Java, sono implementati come istanze della classe String. Stringhe in Java sono Unicode a 16 bit.


Nota: Nel JDK 1.5 + è possibile utilizzare StringBuilder, che funziona esattamente come StringBuffer, ma è più veloce e non thread-safe


Il modo più semplice di creazione di un oggetto String è utilizzando un valore letterale stringa:
String str1 = "Io non posso essere cambiata una volta creato!";


Un valore letterale stringa è un riferimento a un oggetto String. Poiché un valore letterale stringa è un riferimento, può essere manipolato come qualsiasi altro riferimento alla stringa. cioè può essere utilizzato per richiamare i metodi della classe String.


Ad esempio,


Int myLenght = "Hello world".lenght();


Il linguaggio Java fornisce supporto speciale per l'operatore di concatenazione di stringa (+), che è stato sovraccaricato per oggetti di stringhe. Concatenazione di stringhe è attuato attraverso la classe StringBuffer e il suo metodo append.


Ad esempio,


String finalString = "Hello," + "Mondo"


Sarebbe stato eseguito come


String finalString = new StringBuffer().append("Hello").append("World").toString();


Il compilatore Java ottimizza la gestione di valori letterali stringa. Solo un oggetto String è condivisa da tutti stringa aventi la stessa sequenza di caratteri. Tali stringhe sono detto di essere internato, significato che condividono un unico oggetto String. La classe String mantiene una piscina privata dove tali stringhe sono internati.


Ad esempio,


String str1 = "Hello";
String str2 = "Hello";


If(str1 == str2)
System.out.println("equal");


Vuoi stampare vero quando esegue.


Poiché gli oggetti stringa sono immutabili. Qualsiasi operazione eseguita su un riferimento alla stringa non avrà mai alcun effetto su altri riferimenti che denota l'oggetto stesso.


Costruttori


Classe String fornisce vari tipi di costruttori per creare oggetti String. Alcuni di essi sono,


String]


Crea un nuovo oggetto String cui contenuto è vuota, cioè "".


Stringa (String s)


Crea un nuovo oggetto String cui contenuto è lo stesso oggetto stringa passato come argomento.


Nota: Il costruttore crea una nuova stringa significa lo stagista non stringa. Internati riferimento all'oggetto String può essere ottenuto utilizzando il metodo intern() della classe String


String fornisce anche costruttori che accettano byte e char array come argomento e restituisce l'oggetto String.


Uguaglianza di stringhe


Classe String l'override del metodo Equals () della classe Object. Confronta il contenuto dell'oggetto due stringa e restituisce il valore booleano di conseguenza.


Ad esempio,


String str1 = "Hello";
String str2 = "Hello";
String str3 = nuovo costruttore di //Using String("Hello").


If(str1 == str2)
System.out.println ("uguale 1");
Altro
System.out.println ("non è uguale 1");


If(str1 == str3)
System.out.println ("pari 2");
Altro
System.out.println ("io sono costruito utilizzando il costruttore, quindi non internato");


Se (str1.equals(str3))
System.out.println ("uguale 3");
Altro
System.out.println ("non è uguale 3");


L'output sarebbe,
È uguale a 1
2 Non è uguale
Uguale a 3


Si noti che = = confronta i riferimenti non il contenuto effettivo dell'oggetto String; Dove come uguale a metodo confronta il contenuto effettivo di due oggetti String.


Classe String fornisce anche un altro metodo equalsIgnoreCase(), che ignora il caso dei contenuti mentre si confrontano.


Oltre a questi metodi di classe String fornisce anche metodi compareTo.


int compareTo (String str2)


Questo metodo confronta due stringhe e restituisce un valore int. Restituisce
Valore  0 se la stringa è uguale all'argomento stringa
 un valore minore di 0, se questa stringa è minore l'argomento stringa
 un valore maggiore di 0 se la stringa è maggiore l'argomento stringa


int compareTo (Object, object)
Questo metodo si comporta esattamente come il primo metodo, se l'argomento è effettivamente un oggetto String; in caso contrario, genera un servizio.


Manipolazioni di stringhe


Personaggi di lettura  dalla stringa:


char charAt(index i)


Char restituisce in corrispondenza dell'indice specificato. Un indice varia da 0 a lunghezza () -1.


Caratteri Searching  nella stringa


Classe String fornisce il metodo indexOf che cerca il carattere specificato all'interno dell'oggetto string. Questo metodo è stato sovraccaricato. Se la ricerca ha esito positivo, restituisce l'indice del char viene restituito -1 altrimenti.


int indexOf (int c)


Restituisce l'indice della prima occorrenza del char argomento.


int indexOf (int c, fromIndex: int)


Trova l'indice della prima occorrenza del carattere argomento in una stringa, a partire dall'indice specificato nel secondo argomento.


int indexOf (String str)
Trova l'indice di inizio della prima occorrenza dell'argomento sottostringa in una stringa.


int indexOf (String str, fromIndex: int)
Trova l'indice di inizio della prima occorrenza dell'argomento sottostringa in una stringa, a partire dall'indice specificato nel secondo argomento.


La classe String fornisce inoltre metodi per la ricerca di un carattere o una stringa in direzione all'indietro. Questi metodi sono riportati qui di seguito.


int lastIndexOf (int ch)
int lastIndexOf (int ch, fromIndex: int)
int lastIndexOf (String str)
int lastIndexOf (String str, fromIndex: int)


Sostituzione caratteri  stringa


Il metodo replace della stringa può essere utilizzato per sostituire tutte le occorrenze del carattere con dato personaggio.


String replace (char oldChar, int newchar)


 Ottenere sottostringhe


Classe String fornisce il metodo substring per estrarre la parte specificata di stringa data. Questo metodo è stato sovraccaricato.


String substring (int startIndex)
String substring (int startIndex, int endIndex)


Nota: Un nuovo oggetto String contenente la sottostringa viene creato e restituito. La stringa originale non saranno interessata.


Se il valore dell'indice non è valido, viene generata una StringIndexOutOfBoundsException.


 Conversioni


Classe String fornisce set di metodo valueOf sovraccarico statico per convertire in stringhe primitive e oggetto.


public static String valueOf (Object obj)
public static String valueOf (carattere di char [])
public static String valueOf (boolean b)
public static String valueOf (char c)
public static String valueOf(int i)
public static String valueOf (lungo l)
public static String valueOf (float f)
public static String valueOf (doppia d)


 Manipolazione carattere caso


Classe String fornisce seguendo metodi per manipolare il caso carattere nella stringa.


String toUpperCase)
String toUpperCase(Locale locale)


String toLowerCase)
String toLowerCase(Locale locale)


Nota: Stringa originale viene restituito l'oggetto se nessuno dei personaggi modificata, altrimenti nuovo oggetto String viene creato e restituito.


Metodi varie 


Trim (String)


Questo metodo rimuove lo spazio vuoto dalla parte anteriore e la fine di una stringa.


lunghezza (int)


Restituisce la lunghezza della stringa.


String intern()


Questo metodo restituisce l'oggetto String internato, se già presenti nel pool di stringa. Altrimenti questa stringa viene aggiunto in piscina, e quindi viene restituito riferimento internato.

No comments:

Post a Comment