int x=0;
int y=0;
for (Object objX[] : repObj) {
for (Object ObjY : objX) {
System.out.println(x+"-"+y+"-"+repObj[x][y].getClass().getName());
y++;
}
x++;
y = 0;
}
Chega a mostrar todas classes mas apresenta um erro de nullpointerexception também. Alguém sabe o que pode ser ?
A resposta para um NullPointerException é sempre a mesma - debugue seu código, e veja o que ficou nulo (se é repObj[x] ou repObj[x][y]). Depois, veja no seu código onde é que você esqueceu de inicializar repObj[x] ou repObj[x][y].
public class TestaRepObj {
private static Object[][] repObj = new Object[4][4];
public static void main(String[] args) {
repObj[0][0] = new Clientes[50];
repObj[0][1] = new Pedidos[50];
repObj[0][2] = new Vendas[10][50];
repObj[0][3] = new Vendedores[50];
repObj[1][0] = new Clientes[50];
repObj[1][1] = new Pedidos[50];
repObj[1][2] = new Vendas[10][50];
repObj[1][3] = new Vendedores[50];
repObj[2][0] = new Clientes[50];
repObj[2][1] = new Pedidos[50];
repObj[2][2] = new Vendas[10][50];
repObj[2][3] = new Vendedores[50];
int x=0;
int y=0;
for (Object objX[] : repObj) {
for (Object ObjY : objX) {
System.out.println(x+"-"+y+"-"+repObj[x][y].getClass().getName());
y++;
}
x++;
y = 0;
}
Não era pra dar problema … abaixo, a saída:
Exception in thread “main” java.lang.NullPointerException
at br.com.remtecnology.TestaRepObj.main(TestaRepObj.java:25)
0-0-[Lbr.com.remtecnology.Clientes;
0-1-[Lbr.com.remtecnology.Pedidos;
0-2-[[Lbr.com.remtecnology.Vendas;
0-3-[Lbr.com.remtecnology.Vendedores;
1-0-[Lbr.com.remtecnology.Clientes;
1-1-[Lbr.com.remtecnology.Pedidos;
1-2-[[Lbr.com.remtecnology.Vendas;
1-3-[Lbr.com.remtecnology.Vendedores;
2-0-[Lbr.com.remtecnology.Clientes;
2-1-[Lbr.com.remtecnology.Pedidos;
2-2-[[Lbr.com.remtecnology.Vendas;
2-3-[Lbr.com.remtecnology.Vendedores;
Uma coisa que não entrou no JDK 8 foi uma coisa que existe no Groovy mas foi rejeitada. A ideia é você ter um operador “?.” que é igual ao “.”, mas em vez de criar um NullPointerException se o lado esquerdo for null, simplesmente retorna null.
O seu exemplo seria, se essa modificação na linguagem tivesse entrado: