Criar array de objetos (Serializable)

4 respostas
rockstorm

Boa tarde.

Tenho uma classe serializados (bean) onde tenho a necessidade de criar um array utilizando esta classe.

Classe Monit.java

public class Monit implements Serializable {
    
    
           private String SERVIDOR;
           private String PORTA;



    public String getSERVIDOR() {
        return SERVIDOR;
    }

    public void setSERVIDOR(String SERVIDOR) {
        this.SERVIDOR = SERVIDOR;
    }


    public String getPORTA() {
        return PORTA;
    }


    public void setPORTA(String PORTA) {
        this.PORTA = PORTA;
    }

Em uma pesquisa, ví que precisei criar desta maneira:

Monit []https = new Monit[3];

Porem quando vou adicionar valores neste array, recebo um Exception in thread "main" java.lang.NullPointerException

for:

for (int i = 0; i < https.length; i++) {

            https [i].setSERVIDOR("TESTE1"); // o erro acontece aqui!
            https [i].setPORTA("6556");
}

Estou fazendo algo errado na criação do array?
Eu tenho a certeza de que o tamanho nunca vai passar de 3, mas na primeira passagem do for ele já estora a exception!

grato

4 Respostas

Rodrigo_Sasaki
opa, você tem um array declarado e construido, porém ele não está inicializado.
//Declarar 
Monit[] https;

//Construir
https = new Monit[3];

//Inicializar
https[0] = new Monit(); //Esse é o passo que faltou para você
Não é só porque o array tem o índice disponível que o índice está inicializado.

Quando um array é construído dessa maneira, ele seta os valores default para cada índice, que no caso de referências, é null.

ErickRAR

Apenas o array está instanciado. Você deve instanciar o Monit em cada posição do array também.

http[i] = new Monit(); http[i].setServidor("") ...

charleston10

Talvez te ajude

http://javaaberto.blogspot.com.br/2012/09/serializacao.html

rockstorm

Obrigado pessoal.

Foi a falta da Inicialização mesmo.

Obrigado a todos!

Criado 23 de outubro de 2012
Ultima resposta 23 de out. de 2012
Respostas 4
Participantes 4