codice:
public class UsingAsList {
    private static final String values[] = {"red", "white", "blue"};
    private List list;
    
    /** Creates a new instance of UsingAsList */
    public UsingAsList() {
        list = Arrays.asList(values);
        list.set(1, "green");
    }
    
    //visualizza List e array
    public void printElement(){
        System.out.println("list elements: ");
        for(int i = 0; i < list.size(); i++)
            System.out.print(list.get(i) + " ");
        
        System.out.println("\nArray elememnts: ");
        for(int i = 0; i < values.length; i++)
            System.out.print(values[i] + " ");
        
        System.out.println();
    }    
    
    public static void main(String[] args) {
        
        new UsingAsList().printElement();
    }
nella dichiarazione:
private static final String values[] = {"red", "white", "blue"};
il "final" non sta ad indicare "const" equivalente in C?
Allora perche' il programma puo' modificare il contenuto dell'array values?
L'unica soluzione che mi viene in mente e' quella del C:
values e' un puntatore variabile a puntatori costanti,
e questi puntatori costanti puntano a dati variabili.
E quindi si spiega la modificabilita' dei dati.
Qualcuno mi puo' dire se cio' che ho affermato e' giusto?