Quote Originariamente inviata da lollo11113 Visualizza il messaggio
cosi creo dentro a personed die oggetti boolean chiamati aaa e bbb e settati a true e a false.
Un array bidimensionale di oggetti ha un array principale che contiene riferimenti ad altri array.
Ogni sotto array è appunto un array come quel es. {"bbb",Boolean.FALSE }

Il punto è che così è troppo generico e non ben "modellato". Non c'è scritto da nessuna parte cosa sono quei valori. Cosa rappresenta quel boolean? Solo dall'array non lo sai. Inoltre l'array è troppo "arbitrario". Se ti sbagli e metti es.

{Boolean.FALSE, "bbb" }

compila tutto ma poi non è quello che ti serve.
Inoltre l'array è di Object, se estrai qualcosa es. personed[1][0] (che nell'esempio è "bbb") questo lo "vedi" come Object, non come String.

Non puoi fare banalmente es.

System.out.println(personed[1][0].toUpperCase());

Perché l'oggetto referenziato da personed[1][0] è sì realmente un String ma il compilatore lo "vede" come Object e Object non ha toUpperCase(), quindi così non compila. Dovresti fare un cast ... e farlo ogni volta!

Non è quindi così che si modellano le cose. Sfrutta la programmazione ad oggetti, usa le classi.