Duvida como verificar tamanho de um Array?

6 respostas
P

Olá,

uma duvida como posso testar se um array está nulo.

File[] listas = file.listFiles();
if (listas.length==0)
	  System.out.println("tam="+listas.length);


Exception in thread "main" java.lang.NullPointerException
	at br.com.cert.resumo1.ClasseB.main(ClasseB.java:44)

6 Respostas

yorgan

Acho que isso resolve o seu problema:

File[] listas = file.listFiles();

if (listas != null)
     System.out.println("tam="+listas.length);

[]´s

Daniel

marcuskbra

Yorgan,

O metodo executado por essa chamada “file.listFiles()” está retornando null, e quando vc tenta usar o array “lista” ele é um objeto apontando para null, ou seja, vc está fazendo um “null.length”, aí é NullPointerException na certa…

abçs

rmarin

Olha java.io.File.listFiles() só retorna null quando seu file não é um diretório.

Se eu fosse você eu verificaria se ele é um diretório antes

if(!file.isDirectory())
    throw new IllegalStateException("O zé do banjo, passa um arquivo que é diretório aqui!!!");

File[] listas = file.listFiles();  
if (listas.length==0)  
    System.out.println("tam="+listas.length);
Diegomoco

O array list tem um método que chama isEmpty use ele assim.

File[] listas = file.listFiles(); if (listas.isEmpty) <------------- essa função retona um booleano true se o array estiver vazio e false se contém alguma coisa.

Espero que seja isso.

marcuskbra

Diego,

o Array não possui o método “isEmpty()”… somente classes que implementam a interface Collection possuem esse método, por exemplo List e Set…

abçs

Diegomoco:
O array list tem um método que chama isEmpty use ele assim.

File[] listas = file.listFiles(); if (listas.isEmpty) <------------- essa função retona um booleano true se o array estiver vazio e false se contém alguma coisa.

Espero que seja isso.

Diegomoco

Pow foi mau, é um array simples achei que era um ArrayList. Porque com ArrayList funciona certinho.

Criado 7 de novembro de 2008
Ultima resposta 7 de nov. de 2008
Respostas 6
Participantes 5