Array list

Estou usando como banco de dados uma lista . e quando faço essa checagem ele nunca retorna null só que eu guardei informações em " produtos[indice]
entao ele nao pode ser null, ai ele sobrescreve em cima toda vez.

public boolean incluir(CadastraProdutos c) 
{
       for(indice=0; indice<produtos.length;indice++)
       {
           if(produtos[indice] == null)
           {
               produtos[indice] = c;
               salvaArquivo.gravaArquivo(produtos);
               return true;
            }
           
       [b][/b]}  
    
 return false;

se vc guardou em " " branco, tem que validar se tem " "… não apenas nulo

então mas o problema é que quando já tem algo na posição 0 do vetor por exemplo… ele pega como se fosse null e entra no if e
substitui o arquivo existente…

Mas vc guardou assim: “” ou assim " "?

Vc tem que guardar “vazio” ???

senão se for uma lista de string grava algo como “-”

Emilio, onde vc está preenchendo a lista “produtos” com os objetos?

Será que vc não está chamando o método incluir antes da lista possuir qualquer dado?