Stavo provando a creare delle array di oggetti in java, finchè utilizzo tipi primitivi non mi da problemi.
Appena costruisco array di oggetti e le inizializzo mi da questa eccezione: NullPointerException.

Il codice di prova è molto semplice eppure non riesco a capire dove pasticcio.

codice:
public class Ordina {
   

public static void main (String [] args){
   
Valore a [] = new Valore [5];

for (int i=0; i<5;i++){

int casuale=10+(int)(Math.random()*20);   
System.out.println(casuale);
a[i].valore(casuale);
}

System.out.println("La mia array senza ordinare:" + Arrays.toString(a));

Arrays.sort(a);

System.out.println("La mia array ordinata" + Arrays.toString(a));
   
   
}


}


class Valore{
   
   int val;
   
   valore (int val){
      this.val=val;
   }
   
   Valore(){};
   
   int getval(){
      
      return this.val;
   }
   
}