Salve, analizzando un codice ho trovato alcune istruzioni che non mi sono chiare...

codice:
ArrayList matrice = new ArrayList();
matrice.add(new ArrayList());
matrice.add("Mario");
matrice.add(234);
matrice.add(true);
matrice.add(new int[10]);

((ArrayList)matrice.get(0)).add("Pia");
        
System.out.println("La matrice di ArrayList e': " + matrice);
Il tutto inserito in un metodo main() di una classe che importa java.util.ArrayList.

Il risultato è:
codice:
La matrice di ArrayList e': [[Pia], Mario, 234, true, [I@15db9742]
Il metodo get() dovrebbe restituire l'elemento presente nella posizione indicata dall'index (0 in questo caso, quindi il primo, "Mario", come tra l'altro pare darmi ragione questo esempio https://www.tutorialspoint.com/java/...aylist_get.htm
Il casting, se ho ben capito, serve per fare accettare l'elemento in posizione 0 che altrimenti è visto come Object generico (matrice non dichiara un tipo <String> piuttosto che <Integer>, ecc...) ai fini dell'invocazione del get().
Dall'output pare però che sia la String "Pia" a ricevere il casting, visto che appare come [Pia], inoltre in posizione 0...
Per cui ho delle perplessità in merito.