  |
Sono degli oggetti con 'sintattassì da tipi primitivi: |
  |
Costanti stringa |
String s = 'hello';
  |
breve per |
char[] tmp = { 'h', 'e', 'l', 'l', 'o' };
String s = new String(tmp) ;
Le stringhe hanno delle costanti, ovvero una sequenza di caratteri tra virgolette singole. La sintassi non rappresenta però una costante come con i tipi primitivi. Quello che viene fuori da questa operazione è un oggetto. Per questo motivo possiamo pensare più correttamente che si tratti di una abbreviazione del secondo listato. Infatti è come se sia stato creato temporaneamente una schiera di caratteri, e questa schiera sia stato utilizzata come parametro per un costruttore. Naturalmente non ci deve preoccupare di questi dettagli se non per il fatto che dev'essere ben chiaro che una stringa è in realtà un oggetto.
  |
operatore di concatenazione +: |
s = s + 'world';
  |
breve per |
s=s.concat("world");
Così come abbiamo la possibilità di creare stringhe con una sintassi comoda, un'altra funzione molto frequente, ovvero la concatenazione, viene svolta con un operatore: +. Grazie a adesso è abbastanza facile costruire nuove stringhe, e infatti è di frequente. In realtà bisogna stare anche in questo caso attenti: le stringhe in Java sono immutabili, per cui la concatenazione in realtà non modifica una stringa aggiungendo nuovi caratteri alla fine, ma ne crea un'altra. Infatti la concatenazione di stringhe è un'operazione che può essere molto lenta. Implicitamente concatenando una sequenza di stringhe in una singola espressione per ottimizzare viene usata un'altra classe, StringBuffer. Il compilatore però non è abbastanza furbo da utilizzarla automaticamente quando si concatenano molte stringhe in parte diverse del programma. Per questo motivo in questi casi bisogna usarle esplicitamente. Ma lo vedremo ampiamente quando tratteremo appunto le stringhe in dettaglio, nell'ultima parte del corso.
  |
operatore di assegnamento +=: |
s += "world";
  |
breve per |
s = s+ "world";
Un'altro operatore comodo, abbreviazione di quanto scritto nelle riga
precedenti, è il +=. In questo modo si può prendere una stringa e
accordargli di un pezzo, senza dover ripetere il nome della
stringa. Non è di così grande utilità, ed è presente perché é
l'analogo dell'operatore += per i numeri, che è molto usato l'inverno
dei cicli. Però c'è e funziona.
|